实验报告模板实验4多态程序设计..docVIP

  • 95
  • 0
  • 约9.78千字
  • 约 19页
  • 2017-01-12 发布于重庆
  • 举报
实验报告模板实验4多态程序设计.

天津理工大学 计算机与通信工程学院 实验报告 至 学年 第 学期 课程名称 实验( 4 ) 实验名称 实验时间 学号姓名 专业 主讲教师 辅导教师 软件环境 硬件环境 实验目的 (1)掌握运算符重载的方法; (2)掌握使用虚函数实现动态多态性; 实验内容(应包括实验题目、实验要求、实验任务等) 1.定义Point类,有坐标x,y两个成员变量,利用友元函数对Point类重载“++”运算符,实现对坐标值的改变。具体要求如下: (1)编写程序定义Point类,在类中定义整型的私有成员变量x,y; (2)在类中定义两个友元函数,分别重载前置++和后置++; (3)编写主函数测试。 注意函数有无返回值的区别,以及返回值是否带有应用符号。 2.定义Point类,有坐标x,y两个成员变量,利用运算符重载对Point类重载“++”运算符,实现对坐标值的改变。具体要求如下: (1)编写程序定义Point类,在类中定义整型的私有成员变量x,y; (2)定义成员函数Point operator++(); Point operator++(int);以实现对Point类重载“++”运算符,分别重载前置++和后置++; (3)编写主函数测试。 3.定义一个分数类,通过重载运算符实现分数的四则运算、求负运算和赋值运算。其中,要求加法“+” 和减法“-”用友元函数实现重载,其他运算符用成员函数实现重载。 4.定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。具体要求如下: (1)编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数; (2)由车(vehicle)基类派生出自行车(bicycle)类、汽车类(motorcar),从bicycle类和motorcar类派生出摩托车类(motorcycle),它们都有Run、Stop等成员函数。 (3)在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。 (4)分别用vehicle类型的指针来调用几个对象的成员函数,看看能否成功(提示:把Run、Stop定义为虚函 数)。 5.编写程序,定义抽象基类Container,由此派生出2个派生类球体类Sphere,圆柱体类Cylinder,分别用虚函数分别计算表面积和体积。 (1)球体的表面积为:4πr2,球体的体积4πr3 /3?; 圆柱表面积为: 2πR(h+R) 圆柱体的体积πR2h。 (2)定义相应的对象,编写主函数测试。 6.设计一个时钟类TIME,内含数据成员hour,minute,second表示时间,成员函数set( )设置时间数据,show( )显示时间数据。重载运算符 ++和-- (具有返回值),每执行一次++,second自增1,执行一次--,second自减1。second和minute的值在0~59区间循环(满59后再自增则归0,minute加1;second为0时再自减则为59,minute减1)。hour的值在0~23区间循环。 实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等) 1.记录程序运行结果 2.记录程序运行结果 3.记录程序运行结果 4.记录程序运行结果 5.记录程序运行结果 6. 记录程序运行结果 附录(可包括源程序清单或其它说明) 1. #includeiostream using namespace std; class point { private: int x, y; public: point(int, int); friend void operator++(point); friend void operator++(point, int); void display(); }; point::point(int a = 0, int b = 0) :x(a), y(b) {} void point::display() { cout x= x \t y= yendl; } void operator++(point A) { ++A.x; ++A.y; } void operator++(point A, int) { ++A.x; +

文档评论(0)

1亿VIP精品文档

相关文档