C++如何编写属于自己的头文件 ---- 自己动手,丰衣足食
自己动手,丰衣足食
ps.其实这一篇文章老早以前就写了,一直扔在草稿箱,今天想起来了然后就发了出来。。。
首先,熟悉熟悉这些: 是的没错,这就是我们的Dev-cpp! 忽略其他东西,重点是这个: ???这不是C++万能头文件吗?(如果没听过请忽略) 是的,步入正题:C++如何编写属于自己的头文件
什么是头文件?
一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现(就是所谓.c/.cpp)。 C++/C程序的头文件以“.h”为后缀。以下是假设名称为graphics.h的头文件:
#ifndef GRAPHICS_H//作用:防止graphics.h被重复引用
#define GRAPHICS_H
#include<....>//引用标准库的头文件
...
#include"..."//引用非标准库的头文件
...
void Function1(...);//全局函数声明
...
inline();//inline函数的定义
...
classBox//作用:类结构声明
{
...
};
#endif
从以上例子可以看出,头文件一般由四部分内容组成: (1)头文件开头处的版权和版本声明;[不要也无所谓] (2)预处理块; (3)inline函数的定义; (4)函数和类结构声明等。
在头文件中,用 ifndef/define/endif结构产生预处理块,用 #include 格式来引用库的头文件。头文件的这种结构,是利用C语言进行开发软件所通常具备的,属于公有知识。
什么样的内容适合放在头文件里?
对于具有外部存储类型的标识符, 可以在其他任何一个源程序文件中经声明后引用, 此用户完全可以将一些具有外部存储类型的标识符的声明放在一个头文件中。 具体地说,头文件中可以包括: 用户构造的数据类型(如枚举类型),外部变量,外部函数、常量和内联函数等 具有一定通用性或常用的量。 而一般性的变量和函数定义不宜放在头文件中。 例如: #include
int intp(int a,int b){
return a+b*2;
}
int intq(int a,int b){
return a*2+b;
}
b.cpp:
#include "a.cpp"
int main(){
int a=5,b=6,c=0;
c=intp(a+b,a-b)*intq(a+b,a-b);
return c;
}
运行: 补图: 在编译器看来其实代码变成了:
int intp(int a,int b){
return a+b*2;
}
int intq(int a,int b){
return a*2+b;
}
int main(){
int a=5,b=6,c=0;
c=intp(a+b,a-b)*intq(a+b,a-b);
return c;
}
原理不要我说了吧。
持续更新文章,请时刻关注! 传统 C++标准头文件
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include//STL线性列表容器
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//在C++中,标准库的命名空间为std,因而包含了上述头文件时,一般会使用下列语句:
using namespace std;
//C99 版本
#include
#include
#include
#include
#include
#include