说我有三类,一种叫做角色,一种是兽,另一种是人类。
人与兽都是源于性格。
无论如何,有没有创建一个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:

}

10-06 12:42
查看更多