forward declarations in c++

c++中的前置声明,只对该类的指针,SmartPtr)有效。如果要继承这个一个雷类,则必须包含这个类的定义部分。否则编译就会报错forward declarations of "XXXX".

例子:

example1:

class A :pubilc B

{

};

这时候需要include 类B的定义。

example2:

class B;//前置声明

SMART_PTR(B);

class A 

{

  public:

  BPtr  bptr;

   B *b;

};

你可能感兴趣的:(C++,c,Class,include)