类的前置声明条件:类的指针,不访问类的定义;类的声明和类的指针声明

#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类构造了

posted @ 2015-08-26 09:48  曦花  阅读(394)  评论(0)    收藏  举报