类的前置声明

类的前置声明

  前言:使用类的前置声明,就不需要使用该类的头文件;但是需要注意,当前置类被继承、被实例化、被new都无法编译通过,需要引入头文件;可以使用前之类的指针,引用做参数。

  1. 定义类TestIncludeA继承于类AbstractBaseTest,而类AbstractBaseTest采用前置声明的方式

    C++如何正确使用前置声明
  2.  通过编译发现报了如下图所示的错误,这个说明通过继承的方式是不能使用前置声明的
    C++如何正确使用前置声明
  3.  正确的应该是直接include父类所在的头文件
    C++如何正确使用前置声明
  4.  类TestIncludeA中定义数据成员对象TestIncludeB,而TestIncludeB采用前置声明的方式
    C++如何正确使用前置声明
  5.  编译出现如下图所示的错误提示,这个说明直接定义对象,不是指针或者引用的方式也不能采用前置声明的方式
    C++如何正确使用前置声明
  6.  如果类中数据成员直接声明的是对象指针的方式,那么通过编译发现采取前置声明的方式是可以正常编译通过的
    C++如何正确使用前置声明
  7. 实现文件中,直接new对象,也是不能采用前置声明,因为需要知道对象占据的内存大小
    C++如何正确使用前置声明
原文地址:https://www.cnblogs.com/lovebay/p/14335315.html