C++Build中如何定义整个项目的全局变量?(50分)

A

a_fi

Unregistered / Unconfirmed
GUEST, unregistred user!
S

stuwe

Unregistered / Unconfirmed
GUEST, unregistred user!
如果用數據模塊的話
就在數據模塊中定義全局變量﹐其它的#include模塊文件就行了
不是的話可以在主窗口文件中定義﹐其它的#include就行
 
A

a_fi

Unregistered / Unconfirmed
GUEST, unregistred user!
dataModual相当于一个form,在这里定义的变量也是只在datamodual中有效吧?
主窗口文件的hpp文件中,都是以class的方式定义的,我实在是找不到一个全局的类。
如果我把变量定义在最大的类中,那不就相当于全局变量了吗?
 
S

stuwe

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思
錯了
應該是使用的時候是
extern AnsiString str1;//加以聲明
 
K

kevin.zhu

Unregistered / Unconfirmed
GUEST, unregistred user!
在主程序cpp里定义
 
W

wangxd

Unregistered / Unconfirmed
GUEST, unregistred user!
可以在主form中定义,然后其他form包含主form的头文件即可。
或者新建一个unit,在其中用extern定义变量,其他form包含该unit的头文件也行。
 
S

stuwe

Unregistered / Unconfirmed
GUEST, unregistred user!
不會吧
還不行
那個頭文件要用到這個變量就在這個文件是申明
extern 變量類型 變量名;//是在全局處申明
就行了
 
K

kuker5

Unregistered / Unconfirmed
GUEST, unregistred user!
不用在主文件.cpp中声明,在任意一个.cpp文件中声明extern AnsiString str1就可以了
 
W

watercontainer

Unregistered / Unconfirmed
GUEST, unregistred user!
用一个unit,不妨起名为 "globalVarsUnit"
//头文件:globalVarsUnit.h
#ifndef globalVarsUnitH
#define globalVarsUnitH
//所有全局变量的引用性申明,不是定义
extern int x;
extern int y;
//....
#endif

//实现文件:globalVarsUnit.cpp
#include globalVarsUnit.h
int x=0;
int y=0;
//...

//在同一工程内其他单位,要使用全局变量x ,y时只需含入
#include globalVarsUnit.h


 
L

luzhenqi

Unregistered / Unconfirmed
GUEST, unregistred user!
在主文件中定义如 MAIN.H中定义
然后在其他摩块中用EXTERN 定义使用
 
A

a_fi

Unregistered / Unconfirmed
GUEST, unregistred user!
多人接受答案了。
 
顶部