是否可以在另一个子类中声明子类对象? 我对计算非常陌生,尤其是C++和它提供的功能。请温柔地抨击:

是否可以在另一个子类中声明子类对象? 我对计算非常陌生,尤其是C++和它提供的功能。请温柔地抨击:,c++,parent-child,C++,Parent Child,我想问一下,是否可以在另一个子类中声明一个子类对象。比如说,我能不能 class Shape { ... }; class Square: public Shape { .. }; class Cube: public Shape { ... Square sq1; ... }; 我这样问是因为在我试图编译时出现了一个致命错误LNK2019,但我的IDE没有突出显示任何特定的内容。当然。Square和其他任何一类都没有什么特别的不同。只是它恰好是另一个类的子类这一事实在这种上下文中没有实际

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

class Shape {
...
};

class Square: public Shape {
..
};

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

我这样问是因为在我试图编译时出现了一个致命错误LNK2019,但我的IDE没有突出显示任何特定的内容。

当然。Square和其他任何一类都没有什么特别的不同。只是它恰好是另一个类的子类这一事实在这种上下文中没有实际区别

就像你可以拥有:

class Shape { ... };

class Square { .. };

class Cube: public Shape { ... Square sq1; ... };
您还可以拥有:

class Shape { ... };

class Square : public Shape { .. };

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

当然,无论某个对象是否是另一个类的子类,都会更改该类实例拥有的方法,因为它将从其超类继承公共方法。

您应该发布一个带有完整错误消息的sscce。否则我们无法猜测代码的所有细节。链接错误与成员变量无关。代码本身没有问题,请参阅。