第5章 类和对象1(5)

2019-02-15 16:06

}

void TDate2::Print( )

{ cout<

#include #include”tdate2.h” void main( ) { TDate2 d;

cout<<”d is “; d.Print( );

d.SetDate(2004,10,8); cout<<”d is “; d.Print( ); } 输出:

Constructor called.

d is -858993460,-858993460,-858993460 d is 2004.10.8

Destructor called.

例5.7 重新定义日期类 //tdate3.h class TDate3 { public:

TDate3(int,int,int); ~TDate3( );

void SetDate(int y,int m,int d); void IsLeapYear( ); void Print( ); private:

int year,month,day; };

TDate3::TDate3(int y,int m,int d) { year=y; month=m; day=d;

cout<

<<”:Constructor called.\\n”;} TDate3:: ~TDate3( )

{ cout<

<<”:Destructor called.\\n”;} void TDate3::SetDate(int y,int m,int d) { year=y; month=m; day=d; }

void TDate3::IsLeapYear( )

{ if(year%4==0 && year0!=0 ||

year@0==0)

cout<<”Is leap year.\\n”; else

cout<<”Is not leap year.\\n”; }

void TDate3::Print( )

{ cout<

#include #include”tdate3.h” void main( )

{TDate3 d1(2000,5,1); TDate3 d2(2001,10,1); d1.SetDate(1998,6,15); d1.Print( );

d1.IsLeapYear( );

d1.SetDate(2000,9,23); d1.Print( );

d1.IsLeapYear( );}

输出:

2000.5.1:Constructor called.

2001.10.1:Constructor called. 1998.6.15

Is not leap year. 2000.9.23

Is leap year.

2001.10.1:Destructor called. 2000.9.23:Destructor called.

对象的构造和析构次序是相反的,先建立的对象后析构。

例5.8 定义图书卡片类。 #include #include class Card { public:

Card(char *t,char *name, int num); void show( ); private:

char title[80];

char author[40]; int number; };

Card::Card(char *t,char *name, int num) { strcpy(title,t);

strcpy(author,name); number=num; }

void Card::show( )

{ cout<<”Title:”<void main( )

{ Card book1(“Basic”,”Tang”,10); Card book2(“FORTRAN”,”Wang”,20); book1.show( ); book2.show( ); } 输出:

Title:Basic Author:Tang


第5章 类和对象1(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:同济大学环境科学与工程学院2011年硕士研究生入学考试试卷A+B组

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: