标题:全局作用域的是不是一定会被初始化?
取消只看楼主
yikun
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-10-30
 问题点数:0 回复次数:0 
全局作用域的是不是一定会被初始化?
具有全局作用域的是不是一定会被初始化,如果你不给它值的话,会自动初始化为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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-102793-1-1.html




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

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