在兄弟姐妹中继承相同的变量名

时间:2016-05-28 05:01:42

标签: c++

我无法测试具有相同名称的变量是否对于单独的类是唯一的。

这是我的例子:

class Sprite
{
public 
    int maxHP;
    virtual void setup()=0
};

class Hero : public Sprite
{
    void setup(){maxHP = 100;}
};
class Monster : public Sprite
    void setup(){maxHP = 60;}
};

我的两个精灵都有0马力吗?变量是否相互覆盖? 我必须使用这个 - >关键字使它们具体化?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您创建的变量类型Sprite并且不对其进行专门化(例如HeroMonster),则表示它为0 HP。但是如果你创建一个Sprite类型的指针并且它拥有特定类型的地址;那么惠普的特性也是如此。我的意思是:

Sprite *S; //the pointer
Hero Johny;
S = &Johny;

S->setup(); // Johny's HP is updated to 100