C++中的头文件与编译过程

在这里插入图片描述

下面的内容都是在Linux下进行,C++配合Linux更香哦。在windows中的.cpp在Linux中叫做.cc,下面会混合使用,都是指同个东西。

1 为什么需要头文件

在上一篇文章中我们谈到程序编写的一大原则是“高内聚,低耦合”,这就要求我们尽可能把程序分离成各个比较独立的模块,而一个个模块对应一个个的.cpp文件。既然每个.cpp之间比较独立,那么当A.cpp用到B.cpp的内容时,遇到了两个问题:一个是不知道B.cpp中哪些东西可以拿来用,怎么用?另一个问题是在A.cpp中怎么标明现在用到的这些东西属于B.cpp而不是C.cpp或者D.cpp?

于是头文件.h就诞生了。各个.cpp间比较独立,并不直接沟通,每个.cpp有自己的代言人.h(当然main.cpp没有),借助.h进行沟通。当A.cpp用到B.cpp中的内容时,它不需要去打扰B.cpp,它只要载入B.h就行。在B.h中有B.cpp的内容的梗概,B.h承诺说我的这些梗概都是有对应的实体的,这些实体在某个.cpp文件中,你暂且用着,到时候编译时我再给你这些实体。

2 头文件长什么样

下面编写一个库文件B.cpp与其代言人头文件B.h:

//B.h
#ifndef _B_H_
#define _B_H_

extern int b;
class B {
public:
    void showMe ();
}; 

#endif
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值