| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 438 人关注过本帖
标题:全局作用域的是不是一定会被初始化?
只看楼主 加入收藏
yikun
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-10-30
收藏
 问题点数:0 回复次数:1 
全局作用域的是不是一定会被初始化?
具有全局作用域的是不是一定会被初始化,如果你不给它值的话,会自动初始化为0?
如下面这道题:




#include <iostream>
using namespace std;
class Clock
{
public:
Clock();
void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
~Clock(){}
private:
int Hour,Minute,Second;
};
Clock::Clock()
{
Hour=0;
Minute=0;
Second=0;
}
void Clock::SetTime(int NewH,int NewM,int NewS)
{
Hour=NewH;
Minute=NewM;
Second=NewS;
}
void Clock::ShowTime()
{
cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
}
Clock globClock;    //具有文件作用域,被默认构造函数初始化为0,0,0;如果把构造函数去掉,还是会被初始化                       //为0;
           //但如果把这个放在主函数里,再把构造函数去掉,则不会被初始化为0;
void main()
{
cout<<"First time output:"<<endl;
globClock.ShowTime();
globClock.SetTime(8,30,30);
Clock myClock(globClock);
cout<<"Second time output:"<<endl;
myClock.ShowTime();
搜索更多相关主题的帖子: 全局 
2006-11-13 23:21
dubaoshi
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2006-9-22
收藏
得分:0 
书上写C/C++的编译器可以为全局变量和静态变量初始化(默认为0,0.0,NULL等)。

人行善,福虽未至,祸已远离;人行恶,祸虽未至,福已远离.
2006-11-14 08:42
快速回复:全局作用域的是不是一定会被初始化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044821 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved