【发布时间】:2014-02-24 00:47:10
【问题描述】:
这是一个与我已经看过的问题非常相似的问题,在这里回答 - Restarting a game and reinstantiate objects。
我想要完全相同的东西,只是我的问题略有不同,因为我希望重新实例化的对象是“全局”的,并且仅在程序首次运行时才创建。
目前我在#includes 之后和函数原型之前创建新的“播放器”...
#include "Player.h"
#include "Monster.h"
using namespace std;
string MonsterTypes[3] = {"Orc","Goblin","Dark Rider"};
//create a stack of 'monsters'
stack<Monster>MonsterList;
Player* NewPlayer = new Player();
int NewGame();
void SetupPlayer();
void SetupMonsters();
void MainGame();
void Combat();
int GetMonstersLeft();
我需要创建一个完整的工厂类来创建一个播放器吗?显然,当我调用函数“setupPlayer”时,我可以在其中创建播放器对象,但我是否不必将“NewPlayer”传递给其他所有函数,如果有办法避免这样做,我只是在徘徊?
【问题讨论】:
-
“重新启动”任何程序的一种方法是简单地创建一个运行自身的新进程,同时退出原始进程。看起来程序从头开始完全重新开始。
-
拨打
delete NewPlayer; NewPlayer = new Player();
标签: c++ class object instance reset