博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ 头文件
阅读量:4647 次
发布时间:2019-06-09

本文共 1224 字,大约阅读时间需要 4 分钟。

在 C++ 中有一个很重要的概念就是头文件

之所以在 C++ 中要使用头文件,最主要的原因是 C++ 的同一个项目可能有多个源代码文件,要命的是这些源代码是分别单独编译的

也就是说,在编译其中一个文件时,编译器并不知道其它文件中定义的内容,如类、全局变量等。

这就要求我们必须在要使用某个类、函数或变量的每个文件中声明它,否则 C++ 是无法找到它的。

例如:假设你写了一个通用的函数 add,它的定义如下:

View Code CPP
 
1234
int add(int a, int b){   return a+b;}

很多文件可能都需要使用加法。假设有一个文件 b.cpp 需要使用这个函数,那么,它必须先声明它,虽然不需要再重写。

View Code CPP
 
12
int add(int a, int b);add(5,5);

如果有很多文件都要使用这个函数,那么这会变得麻烦,特别的,如果你写了一个类,那么你需要维护大量的声明(对于每一个 public 对象),并且如果你的类的定义发生了改变,你可能不得不改变无数个声明。

所以,C++ 语言提出了头文件的概念。你只需要在头文件中声明一次,在实现文件中定义一次,在所有需要用的文件中,就只需要引用这个头文件,相当于每个文件都包含了一个声明。

为了防止头文件的重复包含,通常应该使用预处理指令 #define (定义符号)、#ifndef(如果没有定义)、#endif(结束判断)来书写头文件的内容。

请理解如下的例子,它是对上个笔记中的 Xiao 类的改进。

Xiao 类的实现(xiao.cpp)

View Code CPP
 
1234567891011
#include "xiao.h" bool Xiao::MobaiXiao(){		return this->mobai("xiao", 10000); // 正确}bool Xiao::mobai(char* cowname, int mobai_times){		// 膜拜神牛。		return true;}

Xiao.h 头文件

View Code CPP
 
12345678910
#ifndef XIAO_H#define XIAO_Hclass Xiao{public:	bool MobaiXiao();private:	bool mobai(char* cowname, int mobai_times);};#endif

主程序

View Code CPP
 
123456789
#include "xiao.h" int main(){	(Xiao()).MobaiXiao (); // 正确	//(Xiao()).mobai ("xiao", 10000); // 错误     return 0;}

转载于:https://www.cnblogs.com/yaowen/p/4815236.html

你可能感兴趣的文章
244. Shortest Word Distance II
查看>>
385. Mini Parser
查看>>
React-组件的生命周期
查看>>
Git详解之四:服务器上的Git
查看>>
[NOIP2002]矩形覆盖
查看>>
JavaScript 复杂判断的更优雅写法借鉴
查看>>
hdu 5186 zhx's submissions
查看>>
<mvc:annotation-driven/>浅析
查看>>
ArcEngine开发之自定义工具
查看>>
SQL视频总结
查看>>
P4878 道路修建-美国
查看>>
dp练习
查看>>
vim
查看>>
苹果电脑包管理
查看>>
maze_travel的隐私声明
查看>>
对正则表达式又重新学了一遍,笔记方便以后查阅
查看>>
NSArray和NSString的联合使用
查看>>
UIKit应用 - Swift 版本: 3.让UITableViewCell的背景色渐变
查看>>
Java反射
查看>>
building tool
查看>>