类的前置声明条件:类的指针,不访问类的定义;类的声明和类的指针声明
#include "stdafx.h" #include <string.h> class A { public: A(){ printf("A constructor\n");} }; class B { public: B(){ printf("B constructor\n");} A a; }; class C { public: C(){ printf("C constructor\n");} A *a; }; int _tmain(int argc, _TCHAR* argv[]) { B b; C c; getchar(); return 0; }

可以知道类C中A类指针*a并没有构造,而B类中A类构造了

浙公网安备 33010602011771号