1. 程式人生 > >c++中a、b類相互呼叫

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; //合法
};