在 C++ 中是否可以有两个类,我们称它们为Aand B,这样A有一个f返回 class 对象的成员函数B,并且B有一个g返回 class 对象的成员函数A?
(下面的文字只是为了表明我已经“完成了我的作业”。)
问题只是如何编写这些函数的签名,当第一个定义的类中的函数将具有不完整的返回类型时。前向声明在这里没有帮助,因为对象是按值返回的。
是的,我知道所有的解决方法(朋友全局函数,通过指针返回,...),但我只想知道上面的接口是否可以在 C++ 中实现。举个例子,假设我试图在 class 上重载 operator()A以 return B,并在 class上重载Breturn A。由于我是重载运算符,所以我必须按值返回(好吧,除非我想要一个动态分配地狱:),并且 () 必须作为成员函数重载,所以我不能使用全局朋友。