类的前置声明
前言:使用类的前置声明,就不需要使用该类的头文件;但是需要注意,当前置类被继承、被实例化、被new都无法编译通过,需要引入头文件;可以使用前之类的指针,引用做参数。
-
定义类TestIncludeA继承于类AbstractBaseTest,而类AbstractBaseTest采用前置声明的方式
-
通过编译发现报了如下图所示的错误,这个说明通过继承的方式是不能使用前置声明的
-
正确的应该是直接include父类所在的头文件
-
类TestIncludeA中定义数据成员对象TestIncludeB,而TestIncludeB采用前置声明的方式
-
编译出现如下图所示的错误提示,这个说明直接定义对象,不是指针或者引用的方式也不能采用前置声明的方式
-
如果类中数据成员直接声明的是对象指针的方式,那么通过编译发现采取前置声明的方式是可以正常编译通过的
-
实现文件中,直接new对象,也是不能采用前置声明,因为需要知道对象占据的内存大小