class B; // 这是前置声明(Forward declaration) class A { private: B* b; public: A(B* b):b(b){} }; class B { };
如上:class B就是前置声明,因为在A中使用了B,所以要先声明