【习题】类与对象(2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

类和对象(2)

【实验目的】:

1.掌握类的构造函数和析构函数的使用方法。

2.掌握类的拷贝构造函数的使用方法。

【实验内容】:

1.读以下程序,为下列程序添加注释,并给出程序运行结果。并解释为什么得到这

样的结果。上机验证你的结果是否正确。

2.完成下列要求。

1)读以下程序,为下列程序添加注释,并给出程序运行结果。并解释为什么得

到这样的结果。上机验证你的结果是否正确。

2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内添加下述

语句:

cout << “Constructor is called.\n“;

写出程序的运行结果,并解释输出的结果。

3)按下列要求进行调试:

在主函数体内,添加下述语句:

Coordinate p4;

Coordinate p5(2);

调试程序时会出现什么错误?为什么?如何对已有的构造函数进行适当的修改?

4)经过以上2)和3)步的修改后,结合运行结果分析:创建不同的对象时会调

用不同的构造函数。

3.假使在程序中已经声明了类point,并建立了其对象p1和p4。请回答一下几个语

句有什么区别?

1)point p2, p3;建立point类的p2和p3

2)point p2 = p1;拷贝p2为p1

3)point p2(p1);同上

4)point p2;建立point类的p2

p2 = p1;将p1赋给p2

5)p4 = p1;将p1赋给p4

4.定义一个矩形(Rectangle)类,私有数据成员为矩形的长度(len)和宽度(wid),构造函

数置len和wid为0,有参构造函数置len和wid为对应形参的值,有能够放大长度和宽度一倍的拷贝构造函数,还包括求矩形周长、求矩形面积、矩形长度和宽度的共有成员函数,另外还有一个能够输出矩形长度、宽度、周长和面积等公有成员函数。

5.编写一个程序,实现按输入字符串相反的顺序,输出字符串。

如输入字符串:Merry Christmas and Happy New Year

则输出字符串:Year New Happy and Christmas Merry

6.编写一个程序,设计一个满足如下要求的CDate类,用数据进行调试,并输出结

果:

1)用日/月/年格式输出日期。

2)可进行日期加一天的操作。

3)设置日期。

【提示】:设计一个日期类CDate,包含m_Year(年)、m_Month(月)和m_Day(日)等3个私有数据成员,另外设计如下成员函数。

CDate():默认构造函数

CDate(int,int,int):重载构造函数。

CDate(CDate& date):拷贝构造函数。

Display():以指定的格式输出日期。

AddDay():返回当前日期加1后的日期。

SetDate(int,int,int):用指定参数设置当前日期。

~CDate():析构函数。

IsLeapYear():判断当前年是否为闰年。

其中,IsLeapYear()函数只在类内部使用,设置为私有成员函数,其它函数均设置为公有成员函数。

在main主函数中,定义CDate类的一个对象date,根据用户输入调用SetDate 成员函数设置当前日期,再调用Display成员函数输出当前日期,然后调用AddDay 成员函数将当前日期加1天,最后,调用Display成员函数输出加1天后的日期。

7.设计一个字符串类MyString,除具有一般的输入输出字符串的功能外,还要求具

有计算字符串的长度、两个字符串的连接、字符串的复制等功能。

8.编写学生信息管理程序。管理一组学生的信息(学生人数在运行时输入),能够按学

号查询学生的信息,也能够输出所有学生的信息。

【提示】:运用知识点对象指针,动态内存分配。

【实验体会】:

相关文档
最新文档