TIME(int h=0,int m=0,int s=0) { }
friend void DATE::DateTime(TIME&t);
hour=h; minute=m; second=s;
private: };
void DATE::DateTime(TIME&t) {
cout<<\
int hour,minute,second;
is\ndl; } int main() {
DATE b(2004,9,23);
TIME t(10,20,50); b.DateTime(t); return 0; }
五、 编程题
1、定义一个图书类Book,类中包括name(书名)、author(作者)和sale(销售量)三个数据成员以及带三个参数的(所有参数都具有默认值)构造函数、析构函数、设置信息的函数和显示信息的函数。编写相应程序对所定义的类进行测试。
2、设计一个点类Point,要求给出一个点的坐标,可以写出三维坐标形式(x,y,z)。实例化2个点对象,计算两点之间的距离,并输出显示结果。
13
3、声明一个时钟类,包含小时Hour、分钟Minutes、秒Second等3个数据成员,有2个公有成员函数,分别是:时间设置函数SetTime(int NewH=0,int NewM=0,int NewS=0)和时间显示函数ShowTime()。在主函数mian()中。利用时间设置函数SetTime设置。时间,当调用时间显示函数ShowTime()时就显示设置的时间。
4、编写3个名为add的重载函数,分别实现两个整数相加、两个单精度数相加、两个双精度数相加。
5、编写程序,输入5个学生的数学和语文成绩,按总分从高到低排序。要求设计一个学生类Student实现该功能。
习题答案
一、 填空题
1、继承,多态 2、公用
3、能,不能,不能 4、protected,public 5、初始化表,函数体 6、10
7、缺省的构造函数 8、X::X(X &x); 9、protected 10、m
14
11、析构函数 12、重载 13、3
14、friend void A::fun(); 15、析构 16、private 17、this 18、1
19、private和protected 20、非静态成员函数
二、选择题
1、C 2、C 3、B 4、A 5、C 6、11、B 12、C 13、A 14、C 15、D
三、判断题
1、√ 2、√ 3、× 4、√ 5、× 6、√四、分析题
1、 2005.3.3 2、
2005.3.15 2005.3.18 3、
D 7、C 8、 7、√ 8、√C 9、C 9、×、D 、√15
10 10
10 5
10 5 15 5 4、
调用构造函数1. 4 8 调用构造函数2. 4 8 20
调用析构函数. 调用析构函数. 5、
obj1: a=100 b=1.2 obj2: a=100 b=3.5 p->obj1: a=100 b=1.2
16