C++ 单独编译(原型与实现分离)

来源:互联网 发布:matlab矩阵绘制三维图 编辑:程序博客网 时间:2024/06/05 14:15

将原来的程序分为三个部分:

  • 头文件:包含结构声明和使用这些结构的函数原型。
  • 源代码文件:包含于结构有关的函数的代码。
  • 源代码文件:包含调用与结构相关的函数的代码。

头文件常包含的内容:

  • 函数原型
  • 使用#define 或const定义的符号常量
  • 结构声明
  • 类声明
  • 模板声明
  • 内联函数

防止重复包含

#ifndef NAME_H_#define NAME_H_// place include file contents here#endif

编译器首次遇到该文件时,名称NAME_H_ 没有被定义。在这种情况下,编译器将查看#ifndef#endif之间的内容,并读取定义NAME_H_ 的一行。如果在同一文件中遇到其他包含NAME_H_ 的代码编译器将知道NAME_H_ 已经被定义过了,从而直接跳到#endif 后面。