我正在制作一个游戏引擎,我有一个GameObject类。这个Gameobject类是Model类继承的基类。现在,Cube类继承自Model。
因此,我想知道Cube类是否能够从GameObject类访问成员?
答案 0 :(得分:2)
是的 - 除了私人的。可以访问受保护的或公共的
答案 1 :(得分:2)
只要将函数或变量声明为public或protected,就可以从继承的类中访问它们。
即
class GameObject{
public:
int getID(void);
};
class Model : public GameObject{
};
class Cube : public Model{
int useID( void ){
return getID() + 5;
}
};
/亨里克
答案 2 :(得分:0)
是的,只要基类不是私有的,或者是相关成员。
答案 3 :(得分:0)
是的,但必须公开或受到保护。请参阅base class member access table。
答案 4 :(得分:0)
这取决于您选择的继承的种类。因此,如果B将继承A ......那么以下是可能性......
B:public A
B:protected A
B:private A ( which is similar to B : A )
每种继承都有其自身的特性......它会影响所有子类可以从其父级访问的内容。 每种继承都有各自的优点和缺点。
在大多数情况下......使用公共继承...... Henrik的答案解释了一切。