- 17
- 0
- 约9.58千字
- 约 20页
- 2020-06-20 发布于浙江
- 举报
C++第四次实验
精品文档
精品文档
收集于网络,如有侵权请联系管理员删除
收集于网络,如有侵权请联系管理员删除
精品文档
收集于网络,如有侵权请联系管理员删除
天津理工大学
计算机与通信工程学院
实验报告
2013 至 2014 学年 第 二 学期
课程名称
高级语言程序设计Ⅱ
实验( 4 )
实验名称
多态程序设计
实验时间
2014 年 4 月 28 日 第 3 节 至 第 6 节
学号姓名
专业
信息安全
主讲教师
唐召东
辅导教师
唐召东
软件环境
VC++6
硬件环境
PC机
实验目的
(1)掌握运算符重载的方法;
(2)掌握使用虚函数实现动态多态性;
实验内容(应包括实验题目、实验要求、实验任务等)
二、练习项目:
1.定义Point类,有坐标x,y两个成员变量,利用友元函数对Point类重载“++”运算符,实现对坐标值的改变。具体要求如下:
编写程序定义Point类,在类中定义整型的私有成员变量x,y;
在类中定义两个友元函数,分别重载前置++和后置++;
编写主函数测试。
注意函数有无返回值的区别,以及返回值是否带有应用符号。
2.定义Point类,有坐标x,y两个成员变量,利用运算符重载对Point类重载“++”运算符,实现对坐标值的改变。具体要求如下:
编写程序定义Point类,在类中定义整型的私有成员变量x,y;
定义成员函数Point operator++(); Point operator++(int);以实现对Point类重载“++”运算符,分别重载前置++和后置++;
编写主函数测试。
3.定义一个分数类,通过重载运算符实现分数的四则运算、求负运算和赋值运算。其中,要求加法“+” 和减法“-”用友元函数实现重载,其他运算符用成员函数实现重载。
4.编写程序,定义抽象基类Container,由此派生出2个派生类球体类Sphere,圆柱体类Cylinder,分别用虚函数分别计算表面积和体积。
球体的表面积为:,球体的体积为;
圆柱表面积为: 2πR(h+R) 圆柱体的体积πR2h。
定义相应的对象,编写主函数测试。
5.设计一个时钟类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区间循环。
实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)
源代码:
#include iostream
using namespace std;
class Point
{
private:
double x,y;
public:
Point(double _x=0,double _y=0)
{
x=_x;
y=_y;
}
~Point(){}
void setx(double _x)
{
x=_x;
}
void sety(double _y)
{
y=_y;
}
double getx()
{
return x;
}
double gety()
{
return y;
}
friend void operator(ostream out,const Point p)
{
outPoint(p.x,p.y)\n;
}
friend void operator++(Point p,int);
friend void operator++(Point p);
};
void operator++(Point p,int)
{
p.x++;
p.y++;
}
void operator++(Point p)
{
++p.x;
++p.y;
}
int main()
{
Point a(1,1),b(3,4);
couta;
coutb;
a++;
++b;
couta;
coutb;
return 0;
}
输出结果:
2.源代码:
#include iostream
using namespace std;
class Point
{
private:
double x,y;
public:
Point(double _x=0,double _y=0)
{
x=_x;
y=_y;
}
~Point(){}
void setx(double _x)
{
x=_x;
}
vo
您可能关注的文档
- BNT基无铅压电陶瓷研究讲课稿.ppt
- BobDylan诺贝尔文学奖得奖致辞(中英)教程文件.docx
- Book-4-Unit-5-语法-构词法教学提纲.ppt
- Book7-Unit4-A-letter-home复习教学内容.ppt
- Boost变换器系统建模及其控制说课材料.ppt
- BNP与NT-proBNP主要区别学习资料.ppt
- BOSON-NETSIM打不开解决方案教学内容.docx
- BPSK原理资料讲解.doc
- Brunnstrom评定量表教学提纲.doc
- book5-unit4-Making-the-news-单词学习培训讲学.ppt
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)