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)
上面的代码不能编译.有什么方法可以做同样的事情吗?
谢谢!
首先,您需要转发声明您的类B.如果不是,编译器将不知道B是什么.另外,将属性更改为指针,否则您仍会遇到编译器错误,即使您转发声明的B,它仍然不知道实现!
以下代码可能有所帮助,祝你好运......
class B;
class A {
B *attribute;
public:
A(){}
};
class B {
A *attribute;
public:
B(){}
};
Run Code Online (Sandbox Code Playgroud)