如何降低头文件的依赖

前端之家收集整理的这篇文章主要介绍了如何降低头文件的依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

经常发现,在需要重用一个头文件而包含它时,编译器抱怨很多东西找不到。原因是头文件里直接或者间接的依赖了太多的东西。如何避免或者减轻头文件的依赖,我学习到了几点:


1. 只包含父类的头文件

2. 尽量使用指针和引用类型,然后用前置声明;

3. 把实现相关的数据和方法放到cpp文件中(参照在类的头文件中隐藏私有数据

比如:

// example.h


#include <QObject>


class QTimer;

class MyObject : public QObject

{

public:

void init();

void start();

...

QTimer& timer();


private:

class Private;

Private &_d;

};


这样基本上可以放心的包含你的头文件

在cpp文件中一般把对应头文件放在最前面,这样可以及时发现头文件是否真的没有了其他的依赖。实现中需要的其他头文件一次排在后头。


对于使用该头文件的模块的人来说,只要包该头文件,以及用到的接口里的数据类型的头文件就可以了。

// user1.cpp


#include "example.h"


void funcA()

{

MyObject obj;

obj.start();

}

// user2.cpp


#include "example.h"

#include <QTimer>


void funcB()

{

MyObject obj;

obj.timer().start();

}

猜你在找的设计模式相关文章