是否可以在另一个子类中声明子类对象?

时间:2015-10-27 10:28:20

标签: c++ parent-child

我对计算很陌生,特别是对C ++及其提供的功能。请小心抨击:)

我想问一下是否可以在另一个子类中声明一个子类对象。例如,我可以

class Shape {
...
};

class Square: public Shape {
..
};

class Cube: public Shape {
...
Square sq1;
...
};

我问这个,因为当我尝试编译时,LNK2019会出现致命错误,但我的IDE没有突出显示任何特定内容。

1 个答案:

答案 0 :(得分:0)

不确定。 Square与其他任何课程没什么特别不同。事实上它碰巧是另一个类的子类,在这种情况下没有实际的区别。

就像你可以拥有:

class Shape { ... };

class Square { .. };

class Cube: public Shape { ... Square sq1; ... };

你也可以:

class Shape { ... };

class Square : public Shape { .. };

class Cube: public Shape { ... Square sq1; ... };

当然,某个东西是否是另一个类的子类会改变类实例所具有的方法,因为它将从其超类继承公共方法。