C++中前向声明

最近学习C++,对前向声明不是很明白,所以查了很多资料终于搞懂,在此分享一下。

首先要明白:

1.C++中类必须先定义,才能够实例化。

2.两个类需要相互引用形成一个“环形”引用时,无法先定义使用。这时候需要用到前向声明 。

3.前向声明的类不能实例化。

第一种办法:

A.h文件

A.cpp文件

B.h文件

B.cpp文件

这种方法只能是在A.h中用到B类,那么就包含B类的头文件,这样可以!如果同时在B.h中用到A类,包含A类的头文件时,编译不通过,因为形成环形引用。

第二种方法,即前向声明

 A.h文件

A.cpp文件

B.h文件

B.cpp文件

原文地址:https://www.cnblogs.com/wufengv5/p/3073830.html