c++中a、b类相互调用

此问题参考一下大神提供的解决方案
class A
{
public:
void FunA1(){}
void FuncA2(){}
void FunA3(){b->funb1();}
private:
class B *b;

};
class B()
{
public:
void funb1(){}
void funb2(){ 
a->FunAa();
}
private:
class A a;
};


解决方案二:
以前做过测试,这种相互交叉使用,定义指针是可以的,定义对象不行。
例如:类A在B前定义

 class B;
 class A
 { public:
      B *pb;//合法
            B b;// 非法
}

class B
{
public:
  A a;//合法
    A *pa; //合法
};

阅读更多

没有更多推荐了,返回首页