C++中两个类相互引用

(1)写两个头文件A.h和B.h分别用于声明类A和B;

(2)写两个.cpp文件分别用于定义类A和B;

(3)在A的头文件中导入B的头文件;

(4)在B的头文件中不导入A的头文件,但是用extern 的方式声明类A,并且,在B中使用A的时候要用指针的形式。

原理:在B中用指针调用A,那么在A需要知道B占空间大小的时候,就会去找到B的定义文件,虽然B的定义文件中并没有导入A的头文件,不知道A的占空间大小,但是由于在B中调用A的时候用的指针形式,B只知道指针占4个字节就可以,不需要知道A真正占空间大小,也就是说,A也是知道B的占空间大小的。

 

下面情况编译不能通过:

A.h中包含B.h且B.h中包含A.h

 

 


————————————————
版权声明:本文为CSDN博主「西青年」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiqingnian/article/details/41214539

posted @ 2022-06-29 08:06  这就叫做C++  阅读(247)  评论(0编辑  收藏  举报