两个C++类的方法返回另一个
Two C++ classes with methods that return the other
我必须有两个类,a和b,每个类都需要有一个返回另一个的方法。如果我试图编译以下代码,我会因为没有提前定义后一个类而出错:
class a{
public:
b* change(){
return new b;
}
}
class b{
public:
a* change(){
return new a;
}
}
error: 'b' does not name a type
当然,我理解为什么,但我想知道是否有一种方法可以正确地实现它。
在类的声明之后对方法进行定义:
class b;
class a{
public:
b* change();
}
class b{
public:
a* change();
}
b* a::change() { return new b; }
a* b::change() { return new a; }
换句话说,执行new T
时,T
的定义必须可用。
首先,。制作一个b类的对象,然后调用它。即。b类;然后在类a中调用它。
相关文章:
- 不能将方法返回的值用于另一个方法
- 如何在另一个函数中使用返回值作为参数?
- 如何在 C 中包装C++具有参数的类方法或返回另一个C++类的实例?
- 在返回另一个函数的函数中执行程序期间出错
- 如何通过指向返回另一个函数的函数的指针调用具有默认参数的函数
- QVector<int>[index] 返回另一个 QVector?
- GetWindowText 返回另一个进程的空字符串
- 接受元组并返回另一个元组的功能
- 如何阻止线程,直到函数返回另一个线程
- 过滤函数中的矢量,并返回另一个带有过滤结果的矢量
- c++:返回另一个类的函数中的对象
- c++中的template函数希望返回另一个容器
- RegQueryValueEx返回另一个寄存器的值的奇怪行为
- c++ lambda:返回另一个返回另一个函数的函数
- Boost Lambda/Phoenix-如何处理返回另一个Lambda的Lambda
- 两个C++类的方法返回另一个
- 如何让getter返回另一个对象的指针
- 函数返回另一个函数
- 如何实例化一个类的对象来生成并返回另一个类的对象
- 通过单个函数返回另一个函数的多个参数