我无法测试具有相同名称的变量是否对于单独的类是唯一的。
这是我的例子:
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马力吗?变量是否相互覆盖? 我必须使用这个 - >关键字使它们具体化?
感谢。
答案 0 :(得分:0)
如果您创建的变量类型Sprite
并且不对其进行专门化(例如Hero
或Monster
),则表示它为0 HP。但是如果你创建一个Sprite
类型的指针并且它拥有特定类型的地址;那么惠普的特性也是如此。我的意思是:
Sprite *S; //the pointer
Hero Johny;
S = &Johny;
S->setup(); // Johny's HP is updated to 100