静态对象和非静态对象

xbfitliu 2009-08-26 10:27:03
#include "stdafx.h"

class TDate1
{
public:
TDate1(int y,int m,int d);

TDate1()
{
cout<<"Default constructor called. \n";
}

~TDate1();

void Print();
private:
int year,month,day;
};

TDate1::TDate1(int y,int m,int d)
{
year = y;

month = m;

day = d;

cout<<"Constructor called.\t"<<d<<endl;
}

TDate1::~TDate1()
{
cout<<"Destructor called.\t"<<day<<endl;
}

void TDate1::Print()
{
cout<<year<<","<<month<<"."<<day<<endl;
}

int main(array<System::String ^> ^args)
{
//static TDate1 d1;
TDate1 d1;

TDate1 d2(2003,2,8);

cout<<"d1 is";

d1.Print();

cout<<"d2 is";

d2.Print();

int input;

cin>>input;

return 0;
}




问题是,这里定义静态对象的d1和非静态对象d1,为什么输出的值不一样?
...全文
78 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao05050075 2009-08-27
  • 打赏
  • 举报
回复
静态对象会被初始化为0
xbfitliu 2009-08-27
  • 打赏
  • 举报
回复
哦,原来是这样。

谢谢!

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧