c++中全局变量与头文件
来源:互联网 发布:淘宝大学ps教程 编辑:程序博客网 时间:2024/05/18 20:48
最近碰到一个问题,想要在主文件中定义全局变量,其它文件也能够使用。通过查资料,找到了两种方法:一是在主文件的cpp中定义变量,在头文件.h中通过extern声明一下,要使用全局变量的其它cpp文件只要包含这个头文件就ok了;二是通过条件编译。
其中一是比较常用的方法,但是有一点一定要注意,就是头文件中只是声明,定义是在cpp文件中,千万不要弄反了!
下面之间看实现。。。。。。
方法一:
main.cpp:
#include <iostream>
#include "head.h"
using namespace std;
int a = 10;
int b = 20;
int main()
{
cout<<"this is main"<<a+b<<endl;
getData();
cout<<"this is main"<<a+b<<endl;
return 1;
}
sub.cpp:
#include <iostream>
#include "head.h"
using namespace std;
void getData()
{
a = 20;
cout<<"this is sub"<<a+b<<endl;
}
head.h:
extern int a;
extern int b;
void getData();
方法二:
main.cpp:
#include <iostream>
#define MAIN
#include "head.h"
using namespace std;
int main()
{
cout<<"this is main"<<a+b<<endl;
getData();
cout<<"this is main"<<a+b<<endl;
return 1;
}
sub.cpp:
同上
head.h:
#ifdef MAIN
int a = 10;
int b = 20;
#else
extern int a;
extern int b;
#endif
其中一是比较常用的方法,但是有一点一定要注意,就是头文件中只是声明,定义是在cpp文件中,千万不要弄反了!
下面之间看实现。。。。。。
方法一:
main.cpp:
#include <iostream>
#include "head.h"
using namespace std;
int a = 10;
int b = 20;
int main()
{
cout<<"this is main"<<a+b<<endl;
getData();
cout<<"this is main"<<a+b<<endl;
return 1;
}
sub.cpp:
#include <iostream>
#include "head.h"
using namespace std;
void getData()
{
a = 20;
cout<<"this is sub"<<a+b<<endl;
}
head.h:
extern int a;
extern int b;
void getData();
方法二:
main.cpp:
#include <iostream>
#define MAIN
#include "head.h"
using namespace std;
int main()
{
cout<<"this is main"<<a+b<<endl;
getData();
cout<<"this is main"<<a+b<<endl;
return 1;
}
sub.cpp:
同上
head.h:
#ifdef MAIN
int a = 10;
int b = 20;
#else
extern int a;
extern int b;
#endif
void getData();
转自:http://blog.163.com/tfn2008@yeah/blog/static/11032131920126105132537/
0 0
- c++中全局变量与头文件
- 全局变量与头文件
- 全局变量与头文件
- c语言中头文件的建立与使用-函数、全局变量、全局数组
- 【C++】在头文件中定义全局变量的技巧
- C/C++语言在头文件中定义全局变量
- 关于全局变量与头文件
- C\C++小知识: 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
- C语言头文件定义全局变量问题
- extern 用法,全局变量与头文件
- 全局变量在头文件中“定义”
- 全局变量定义在头文件中
- 全局变量在头文件中“定义”
- 全局变量可不可以定义在可被多个.C文件包含的头文件中?
- 全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
- 安卓开发技巧三:知晓当前是哪一个活动
- Servlet的使用
- cocos2dx3.2 json读取数据简单使用
- Jenkins、SonarQube的安装和简单使用
- iOS开发技巧(系列十五:autolayout自动布局)
- c++中全局变量与头文件
- Android下am命令启动Activity、Service、BroadcastReceiver
- jQuery学习二:浅拷贝
- 微信支付常见问题
- 关于<c:forEach>中select和oprtion设置默认选项
- Android IPC通信以及AIDL技术运用
- 软键盘的使用方法
- Spark之FAQ
- VC从“我的电脑”开始浏览文件夹