有没有办法创建一个类,该类具有在C++中具有此类对象的类的对象?

Leo*_*ele 1 c++ attributes class

在C++中,是否有某种方法可以创建一个类,该类具有作为属性的类的对象,该类具有作为属性的第一个类的对象?

例如:

class A {
    B attribute;
public:
    A(){}
};

class B {
    A attribute;
public:
    B(){}
};
Run Code Online (Sandbox Code Playgroud)

上面的代码不能编译.有什么方法可以做同样的事情吗?

谢谢!

omt*_*t66 6

首先,您需要转发声明您的类B.如果不是,编译器将不知道B是什么.另外,将属性更改为指针,否则您仍会遇到编译器错误,即使您转发声明的B,它仍然不知道实现!

以下代码可能有所帮助,祝你好运......

class B;

class A {
    B *attribute;
public:
    A(){}
};

class B {
    A *attribute;
public:
    B(){}
};
Run Code Online (Sandbox Code Playgroud)