说我有三类,一种叫做角色,一种是兽,另一种是人类。
人与兽都是源于性格。
无论如何,有没有创建一个character类型的函数,并且该函数内部可以返回从ork或human类创建的对象。也许还有另一种方法可以从同一函数返回ork或人类对象。
编辑:没关系的人,事实证明,当我较早尝试时,我意外地从另一个类别衍生了兽人。实际上,可以从基本类型的函数返回派生类。
为了清楚起见,这就是我在做什么。character game::getPlayer(char symbol) { switch (symbol) { case 'E': return elfPlayer; break; case 'G': return guardPlayer; break; case 'K': return knightPlayer; break; case 'R': return roguePlayer; break; case 'W': return wizardPlayer; break; }}
最佳答案
如果我正确地描绘了图片,则您需要在基类Character中添加一个纯虚函数,并且整个函数将用于Human和Orc的派生类中。
class Character
{
public:
Character();
virtual ~Character();
virtual HRESULT Characterfunc() = 0;
private:
}
然后在派生类中:
class Ork : public Character
{
public:
Ork();
HRESULT Characterfunc();
private:
}
最后一个:
class Human : public Character
{
public:
Human();
HRESULT Characterfunc();
private:
}