类A定义中有个类型为类B的成员,类B的定义中有类型为类A的数据成员。 类A // a.h #pragma once #include "b.h" class B; class A { public: void fun(); B *a; }; // a.cpp #include <iostream> #include "a.h" using namespace std; void A::fun() { cout<<"Class A"<<endl; } 类B // b.h #pragma once #include "a.h" class A; class B { public: void fun(); A *a; }; // b.cpp #include "b.h" #include <iostream> using namespace std; void B::fun() { cout <<"Class B"<<endl; } main文件 // main.cpp #include <iostream> #include "a.h" #include "b.h" using namespace std; int main() { A a; B b; a.fun(); b.fun(); getchar(); return 0; }