C++头文件中不应该放哪些东西?
来源:互联网 发布:淘宝装修页面图片 编辑:程序博客网 时间:2024/06/10 07:15
先说明一下:以下程序针对的是C++语言
直接上代码(程序中有错):
file1.h文件如下:
#ifndef HEADER_FILE1int a;#define HEADER_FILE1#endiffile1.cpp文件如下:
#include "file1.h"main.cpp文件如下:
#include "file1.h"int main(){return 0;}上面的程序在连接时会出错,为什么呢?因为在file1.cpp和main.cpp中会同时出现a, 碰撞了,冲突了。上面程序可以改为(正确程序):
file1.h文件如下:
#ifndef HEADER_FILE1#define HEADER_FILE1#endiffile1.cpp文件如下:
#include "file1.h"int a;main.cpp文件如下:
#include <iostream>#include "file1.h"using namespace std;extern int a; // 不可少,否则访问不到aint main(){cout << a << endl;return 0;}当然,如果程序的很多文件中都要用到圆周率,那怎么办呢?可以采用如下方式:
file1.h文件如下:
#ifndef HEADER_FILE1const float pi = 3.14f;#define HEADER_FILE1#endiffile1.cpp文件如下:
#include "file1.h"// 该文件现在可以访问到pimain.cpp文件如下:
#include <iostream>#include "file1.h"using namespace std;int main(){cout << pi << endl;return 0;}上面的程序是完全正确的,不会出现冲突。
总结:1. 在头文件中不要出现int a;这样的定义,容易冲突(重定义问题)。
2. 在头文件中不要出现void fun(){}这样的非内联函数定义,容易冲突(重定义问题)。
最后还是不忘补充一句:上面针对的是C++程序,在C程序中,略有不同。
- C++头文件中不应该放哪些东西?
- 头文件中应该放些什么?
- 头文件中应该放些什么
- 声明和定义应该放在源文件还是头文件
- 什么应该放在头文件?【资料分享】
- 什么应该放在头文件?何为外连接?
- C语言中关于哪些数据放在哪些区?
- Android Studio 项目中,哪些文件应该忽略而不提交到svn的服务器中?
- Android Studio 项目中,哪些文件应该忽略而不提交到svn的服务器中?
- Android Studio 项目中,哪些文件应该忽略而不提交到svn的服务器中?
- Android studio工程哪些文件不应该 check in到版本控制中
- Android Studio 项目中,哪些文件应该忽略而不提交
- C语言程序中不包含头文件
- 不应该把数据放在 Application 中
- 头文件中应该写什么
- 头文件中应该包含什么
- CSS文件在jsp 文件中应该放的位置
- 哪些东西必须放在构造函数的初始化列表中?
- wordpress记录
- GCC编译时遇到的问题详解
- Session和Cookie的区别与联系
- ARM汇编指令学习 - 实现数据块拷贝
- cocos2d-x开发android游戏时出现的问题
- C++头文件中不应该放哪些东西?
- HTTP Headers 入门
- 链表头插法详解
- Xcode 4.1~4.6 + iOS 5、iOS 6免证书(iDP)开发+真机调试+生成IPA全攻略
- charAt
- Waiting ten thousand years for Love
- 抽象层次
- mysql分表的3种方法[转]
- STL——map用法