???????????

????A?????B??????????B???????A??????

??????????????

????1????????

????A???????B????B????????A??????????γ??????

 

#include "B.h" 
 
class A 

    int i; 
    B b; 
}; 
 
#include "A.h" 
class B 

    int i; 
    A   a; 
};

????2???????д????????????

????1????????????????b.h ????????b.h?а?????a.h

????2??a.h?в????????b.h?????????class   b??????????????????????????b

????3??????class  b ????а??????? "b.h"?????????????  b?????????????????????????????????

??a.h:

 

#include <iostream> 
using namespace std; 
 
class b; 
 
class a 

public: 
    b *ib; 
    void putA() 
    { 
        cout<<"????A??"<<endl; 
    } 
 
};

  b.h:

 

#include <iostream> 
#include "a.h" 
 
using namespace std; 
class b 

public: 
    a ia; 
    void putB() 
    { 
        cout<<"????B??"<<endl; 
    } 
 
};

????????

 

#include <stdio.h> 
#include <tchar.h> 
#include "b.h" 
int _tmain(int argc, _TCHAR* argv[]) 

     
    b B; 
    B.putB(); 
 
    B.ia.putA(); 
 
     
      
 
    getchar(); 
    return 0; 
}