作者dove1706 (岚)
看板C_and_CPP
标题Re: [问题] 全域变数宣告在哪?
时间Sun May 10 16:27:34 2009
野人献曝一下 :) 如我之前略提,CLR我没碰也不想碰,问题是否出在那里就不评论了..
下面三个档案分别存成main.cpp, header1.hpp, header2.hpp, 希望这有帮助
//main.cpp
#include "header1.hpp"
#include "header2.hpp"
#include <iostream>
using namespace std;
int a; // global a, initialized as 0
int main()
{
cout << "a = " << a << "\n";
cla1 c1;
c1.touch_a();
cout << "a = " << a << "\n";
cla2 c2;
c2.touch_a();
cout << "a = " << a << "\n";
}
// EOF of main.cpp
//header1.hpp
extern int a;
class cla1 {
public:
void touch_a() {
a = 1;
}
};
// EOF of header1.hpp
//header2.hpp
extern int a;
class cla2 {
public:
void touch_a() {
a = 2;
}
};
//EOF of header2.hppC
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 91.92.165.253
1F:→ james732:其实我觉得在OO Language里 应该可以尽量少用全域变数 05/10 17:00
2F:推 tstanly:我也不想碰CLR.....无奈 05/10 17:32
3F:推 tstanly:如果要共用array..上面的方法应该都可吧 05/10 17:38
4F:→ dove1706:同意一楼 用全域的话个人想法是会考虑singleton+mutex 05/11 02:14
※ 编辑: dove1706 来自: 91.92.165.253 (05/17 07:31)