{ 3、
# include
{
public: int f1(); int f2();
void setx(int m) {x=m; cout< int x, y; }; int A::f1() {return x+y;} int A::f2() {return x-y;} void main() { A a; a.setx(10); a.sety(5); cout< } 4、 # include public: T(int x, int y) { a=x; b=y; cout<<”diao yong gou zao han shu 1.”< cout<< d.a<<’\\t’< } Date t1,t2(2005,3,18) ; t1.print(); t2.print(); ~T() {cout<<”diao yong xi gou han shu.”< void main() { T d1(4,8); T d2(d1); cout< #include void main() { A obj1,obj2(100,3.5); obj1.show(\ obj2.show(\ A *p; p=&obj1; p->show(\ (*p).show(\ p=&obj2; p->show(\ (*p).show(\ p=new A; p->show(\ delete p; } 6、 #include class K { public: int x; K (int i){x=i;} void fun1(int j){x+=j;cout<<\ void fun2(int j){x+=j;cout<<\}; void main() { K c1(3),c2(6); void(K::*pfun)(int)=K::fun1; (c1.*pfun)(6); pfun=K::fun2; (c2.*pfun)(12); } 7、 #include public: DATE(int a=2004,int m=9,int b=23) { year=a; month=m; day=b; } void DateTime(TIME &t); private: int year,month,day; }; class TIME { public: TIME(int h=0,int m=0,int s=0) { hour=h; minute=m; second=s; } friend void DATE::DateTime(TIME&t); private: int hour,minute,second; }; void DATE::DateTime(TIME&t) { cout<<\ is\} 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个点对象,计算两点之间的距离,并输出显示结果。 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 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 11、B 12、C 13、A 三、判断题 1、√ 2、√ 3、× 四、分析题 1、 2005.3.3 2、 2005.3.15 2005.3.18 3、 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 (*p)obj1: a=100 4、A 5、C 14、C 15、D 4、√ 5、× 6、D 7、C 6、√ 7、√8、C 9、C 8、√ 9、×10、D 10、√