头文件header files
header = interface
.h:类&函数原型declaration&prototypes(声明)<-头文件(为了避免多个cpp include同一个造成定义重复)
.cpp:类&函数实现defination&body(.cpp文件是编译单元)
(插入冷知识:任何C++可以翻译成C语言)
.h中只能有声明
- 外部变量extern variables
- 函数原型function prototypes
- 类和结构体的声明
#include 将.h内容插入到当前文件
- #include"xx.h" 在当前目录找
- #include<xx.h>在特定目录(eg.系统目录,编译器认定的)找
- #include < xx > 和第二种一样
标准头文件结构(为了避免一个cpp include同一个.h多次造成声明多次出现)
#ifndef HEADER_FLAG
#define HEADER_FLAG
//declaration
#endif
Tips:
- 一个类一个头文件
- 一个头文件对应一个源文件且命名统一
- 头文件用标准头文件结构
抽象
- ignore details & focus on higher level of problem