C++笔记之前向声明

  前向声明即在定义之前先声明,其主要作用在于,避免了当两个类相互调用时include出现循环导致的编译错误,在类很多时,我们并不能确保某两个类一定不会互相调用,为了避免这种潜在的错误,最好使用前向声明,写法如下:

//Test.h
Class ClassA;//向前声明类ClassA
ClassA *mClass;//此时只能定义ClassA的指针和引用,在Test类中声明一个ClassA的指针

//Test.cpp
#include “ClassA.h”//引用定义了ClassA的头文件,相当于定义了该类
mClass = new ClassA();//现在可以定义ClassA的对象了
mClass->show();//也可以使用该类的方法

注:类的前向声明只能用于定义一个指针或引用,以及用于函数形参的指针或引用,不能定义对象,也不能访问该类的对象,因为此时只有声明,编译器不知道这个类有多大,有什么成员。只有等该类正式定义(include前向声明的类的头文件,或直接定义该类)以后才可以正常使用。

猜你喜欢

转载自blog.csdn.net/u012043391/article/details/78130375