总结于博客:c++的类的前置声明,类的互相包含
对于复杂的类相互包含的情况:
1、头文件尽量写在.cc中,.h中能用前置声明就用前置声明。
2、头文件不能代替前置声明,如下图,对于类中有其他某个类的指针变量,包含头文件也没用,必须要有前置声明。
C++ 头文件与前置声明的使用前置声明也同样不能替代头文件。
前置声明的作用是指示“这个变量是个什么类型”,而不会告知“这个变量的具体定义”,因此,前置声明只对指针或引用类型的变量有效,凡是涉及到要知道某个变量大小以及内部成员的具体定义时,则需要通过头文件获取。
C++ 头文件与前置声明的使用
3、下面这种类的嵌套方式是不可取的,因为你中有我我中有你出现了死循环
C++ 头文件与前置声明的使用
正确的是下面两种方式:

1、其中一个类声明为指针。
C++ 头文件与前置声明的使用
2、类内部包含的类全都声明为指针:
C++ 头文件与前置声明的使用
其实上面把头文件去掉也没事。

相关文章:

  • 2022-12-23
  • 2021-11-03
  • 2021-07-14
  • 2021-12-17
  • 2021-07-26
猜你喜欢
  • 2022-12-23
  • 2021-08-16
  • 2022-12-23
  • 2021-07-01
  • 2021-09-13
  • 2021-12-25
相关资源
相似解决方案