码迷,mamicode.com
首页 > 编程语言 > 详细

c++头文件循环引用

时间:2020-06-03 17:39:04      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:头文件   oid   情况   调试   虚基类   很多   引用关系   设计   防止   

当两个头文件a.h和b.h存在相互引用的状况时,可以在其中一个头文件预先定义类型。如:

// A.h

class B;

class A{
    B data;
public:
    void fun();
};

//B.h
#include "A.h"

class B{
public:  
    int data;
}

但是这个做法存在弊端,当系统设计逐渐庞大时,头文件的相互引用关系逐渐复杂,引用关系图中可能存在很多个相互引用的环。导致调试成本和编码成本上升。

可以采用接口类的方式避免循环引用的情况。实现一个虚基类作为接口类,其他文件引入接口类头文件,既可以防止循环引用关系泛滥造成的心智负担,也可以明确的规划各个子系统之间的联系。

c++头文件循环引用

标签:头文件   oid   情况   调试   虚基类   很多   引用关系   设计   防止   

原文地址:https://www.cnblogs.com/HadesBlog/p/13038622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!