因为C++两个类是不能相互包含的,所有当有两个不同文件中的类需要作为成员并且还要将另一个类作为自己可以访问的数据时,就可以使用前向声明。

前向声明,例如

class Pics;
前向声明的类只能知道各个元素的名称和相应的大小,是个不完整类,所以不可以实例化。
以下是实例化产生的错误
error: allocation of incomplete type 'XXX'note: forward declaration of'XXX'
虽然前向声明的类不能定义对象,但是仍然可以定义指针,或者当作引用返回。