- 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;
+
您可能关注的文档
- 实验报告三选股分析模板之一..doc
- 实验报告上海行政区划图制作..doc
- 实验报告串口通讯实验..doc
- 实验报告乙酸乙酯皂化反应(超全思考题)..doc
- 实验报告书(VisualFoxPro8)..doc
- 实验报告书-中级财务管理..doc
- 实验报告书ArcView叠加分析..doc
- 实验报告书式样(设计性实验)..doc
- 实验报告书简化版2015.5.12..docx
- 实验报告二.数字音频资源的获取处理及应用..doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 课件第3讲gps伪距测量原理.pptx VIP
- 焊割工操作安全培训内容课件.pptx VIP
- 蚌埠市博物馆展览陈列大纲.pdf VIP
- 《爷爷的爷爷从哪里来》整本书阅读 课件 四年级下册语文(统编版).pptx VIP
- 指南共识│咯血诊治专家共识.pptx
- 博物馆陈列展览大纲精编.docx VIP
- Q/GDW 376.1-2009《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》及编制说明1.doc VIP
- 阀门电动执行装置设计毕业设计(论文).doc VIP
- 中考数学二轮复习 专题11 二次函数与矩形、菱形的存在性问题(知识解读)(解析版).doc VIP
- 博物馆陈列展览大纲(2019最新版).docx VIP
原创力文档

文档评论(0)