无效指向类错误

时间:2016-04-03 15:02:00

标签: c++ class pointers

class Hero
{
public:
    Hero();
    virtual int useAbility(){}
    virtual int basicAttack(){}
    int getHitPoints();
    int getManaPoints();
    void setHitPoints(int x);
    void setManaPoints(int x);
protected:
    unsigned int hitPoints;
    unsigned int manaPoints;
private:
    friend void printHero();

};

class Mage : public Hero
{
public:
    Mage();
    int useAbility();
    int basicAttack();
    std::string getClassName();
protected:
private:
    std::string className;

};

战士相同

int input;
void *actor;
cin >> input;
if(input == 1) actor = new Warrior;
if(input == 2) actor = new Mage;
printHero(actor.getClassName(),actor.getHitPoints(),actor.getManaPoints());

所以我声明指针'actor',我希望它成为指向类的指针,但显然它不起作用。

我收到此错误

  

请求'actor'中的成员'getClassName',这是非类型'void *'

1 个答案:

答案 0 :(得分:-1)

Warrior和Mage有父类人员。

你想做的事:

person *actor;
相关问题