在类中创建公共属性,该类是此类的实例
Creating a public property inside a class which is an instance of this class
我正在创建一个名为 Circle
的类,需要一个公共属性来访问其"父"Circle
实例。因此,我像这样编码:
class Circle {
public:
...
Circle parent;
...
}
但这给了我一个错误:Incomplete type is not allowed
我该怎么办?
这是做不到的。考虑一下你的类型的内存占用量是多少:一个Circle
包含一个Circle
,所以它的大小不能小于内Circle
,但这个大小与外Circle
的大小相同,达到矛盾。
也许您打算存储指针或智能指针?这是允许的,因为编译器知道指针的大小。
您应该将 parent 定义为指向 Circle
的指针:
Circle *parent;
相关文章:
- C++如何将同一类的实例作为属性
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- 返回的指针属性中类实例上的矢量属性消失
- 依赖于类成员属性的类实例成员
- 类实例的C++/向量作为另一个类的属性
- 将成员函数分配给实例成员的属性
- 通过从类 B 访问类 A 实例来更改该实例的属性
- 从另一类获得与属性相同的类实例
- 如何使用结构实例的名称调用其属性
- 正在访问类实例的属性
- 在类中创建公共属性,该类是此类的实例
- 如果我在一个类中有一个静态属性,并创建该类的许多新实例
- 是否可以为现有类的实例绑定新属性,例如 c++ 中的 JavaScript?
- 类属性包括模板类的实例(错误 C3857)
- C++ QML 插件,无法查看C++实例上的属性
- 使用OOP,当您有一个类的实例作为另一类的属性时,如何可能只在第二个类中实例化它
- 在运行时将属性与类实例关联
- 正在获取ostream模板以打印指针列表中的实例属性
- 实现具有自动增量实例属性的类的最python的方式是什么?
- 捕获从c++创建boost::python包装类的实例属性