1 //A.h文件 2 #ifndef A 3 #define A 4 #include"B.h" 5 static int count=0; 6 class A 7 { 8 public: 9 void fun1( );10 }; 11 #endif12 13 //B.h文件14 #ifndef B15 #define B 16 class A; //注意:这里是C++类的前向声明,没有用include“A.h”把对方加进来是考虑到了没有必要,因为最终两个类是要编译到一块17 class B 18 {19 public:20 void fun2();21 }; 22 #endif23 24 //A.cpp文件25 #include "stdafx.h"26 #include "A.h"27 #include 28 using std::cout;29 using std::endl;30 void A::fun1()31 {32 cout<<"a"< < < 47 using std::cout;48 using std::endl;49 void B::fun2()50 { 51 cout<<"b"< < < 66 #include"A.h" //注意:这个地方没有include“B.h”但是下面用的了B类,说明B类头文件肯定在A.h中有include。67 using std::cout;68 using std::endl;69 void main()70 {71 A a;72 B b;73 a.fun1();74 b.fun2();75 getchar();76 }