在继承期间,基类的基类是否也继承了?

时间:2014-02-17 10:29:34

标签: c++ inheritance syntax polymorphism

我正在制作一个游戏引擎,我有一个GameObject类。这个Gameobject类是Model类继承的基类。现在,Cube类继承自Model。

因此,我想知道Cube类是否能够从GameObject类访问成员?

5 个答案:

答案 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的答案解释了一切。