首页 > 代码库 > C++学习笔记(一):头文件和源文件

C++学习笔记(一):头文件和源文件

说明:

当一个源文件(a.cpp)要调用另一个源文件(b.cpp)定义的方法时,需要在a.cpp中写上这个方法的声明(只需要该方法的名称、返回值和参数,类似Java的接口);

如果每次调用其他文件的方法时都写上相同的声明就会很麻烦,而且当b.cpp的定义修改时所有调用到该文件的声明都要修改,这样工作量太大且容易出错,所以出现了头文件,我们把所有的声明都存放到头文件中,需要使用到的时候使用宏命令“#include”包含进这个.cpp文件中即可;

#include:只有一个功能:把它后面所写的那个文件的内容,完完整整地、一字不改地拷贝到当前的文件中来;

而C++规定,定义只有一次,声明可以多次,导致头文件只能写声明,不能进行定义,如果头文件进行定义,被多个文件#include后,就会出现多个定义导致编译失败;

头文件不会进行编译,只会通过#include被其他多个源文件包含,然后头文件中的内容作为源文件的一部分进行编译;

需要注意的是,.h头文件不用写在编译器的命令之后,但它必须要在编译器找得到的地方、通常是和源文件位于同一个目录下;

头文件的后缀名可用任意名称;

条件编译:

1 #ifndef COMDEF_H2 #define COMDEF_H3 4 //头文件内容5 6 #endif

使用上述宏命令可以使头文件的内容只被执行一次;

extern:

extern关键字指定当前的内容为声明;

1 double up;//定义了up变量,并且赋值为02 extern double up;//声明了外部的变量up,不会分配内存

函数的声明extern关键词是可有可无的,因为函数本身不加修饰的话就是extern的;

例外:

const对象可以直接定义在头文件中;

内联函数也可以直接定义在头文件中;

类的定义放在头文件中,而类的函数成员的实现代码放在一个.cpp文件中;