C++头文件应该干的事情

C++头文件应该干的事情

最近在写自己项目的时候,头文件老是编译错误,后来发现还是对头文件掌握不牢。

头文件应该干什么?

所谓的头文件,其实它的内容跟 .cpp 文件中的内容是一样的,都是 C++ 的源代码。但头文件不用被编译。我们把所有的函数声明全部放进一个头文件中,当某一个 .cpp 源文件需要它们时,它们就可以通过一个宏命令 "#include" 包含进这个 .cpp 文件中,从而把它们的内容合并到 .cpp 文件中去。当 .cpp 文件被编译时,这些被包含进去的 .h 文件的作用便发挥了。

所以头文件应该:

  1. 类成员数据声明,但不能赋值!

    不论是构造器还是成员函数,一旦有了func(){}或int a = 10; 之类的操作,那么一旦这个头文件被两个或两个以上的 .cpp 文件包含的话,编译器会立马报错。

  2. 类的成员函数声明,同上
  3. 非类成员函数的声明
  4. 类静态数据成员的定义和赋值,但不建议,只是个声明就好。
  5. 常数的定义。如:const int zero = 0;
  6. 静态函数的定义
  7. 类的内联函数的定义

千万不能包含

  • 所有非静态变量(不是类的数据成员)的声明;
  • 默认命名空间声明不要放在头文件,using namespace std 等应放在.cpp文件,在.h文件中使用std::cout

参考 菜鸟教程

猜你喜欢

转载自www.cnblogs.com/scyq/p/12397459.html
今日推荐