1.首先新建个项目(visual studio 直接新建个项目即可)
将程序分成三个部分
- 头文件:函数原型,声明(结构声明,类声明,模板声明),内联函数,使用#define或者const定义的符号常量,
- 源代码文件:包含与结构有关的函数代码
- 源代码文件:调用函数与结构相关的代码(main()函数的调用)
注意:不要在头文件中写函数的定义或者变量的声明。对于简单的情况可能是可行的,但通常会引出麻烦(来自c++ primer puls作者建议)
当然这只是这样分类的方法,当写程序时候,在不知情的情况下将头文件包含数次。
2.以下预处理器编译指令#inndef(就是if not defined)可以解决
#ifndef _NAME_H_
#define _NAME_H_
头文件内容
#endif
NAME_H 是宏的名称,它的作用是保持命名的独一无二的特性,防止被重复定义。
原理:如果编译器没有定义_NAME_H,则定义宏_NAME_H_,当再次遇到时,不会引用它。
visual studio 也提供了它的特殊方案#pragma once
#pragma once
文件内容
原理:只要编译器看到了再次看到#pragma once,效率会提高。