C++上机实验报告实验六

C++上机实验报告实验六

ID:40337339

大小:132.51 KB

页数:9页

时间:2019-07-31

C++上机实验报告实验六_第1页
C++上机实验报告实验六_第2页
C++上机实验报告实验六_第3页
C++上机实验报告实验六_第4页
C++上机实验报告实验六_第5页
资源描述:

《C++上机实验报告实验六》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验六实验目的1.掌握运算符重载的方法2.学习使用虚函数实现动态多态性实验要求1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。3.(选做)对实验4中的Peopl

2、e类重载“==”运算符和“-”运算符,“==”运算符判断两个people类对象的id属性是否相等;“-”运算符实现People类对象的赋值操作。实验内容及实验步骤1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++();Pointoperator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point&operator--();Pointoperator--(int);以实现对Point类重载“--”(自减)运算

3、符,实现对坐标值的改变。程序名:1ab8_1.Cpp#includeusingnamespacestd;classPoint{public:Point();Point(intx,inty);~Point(){}//Point类析构函数Point&operator++();//公有成员函数Pointoperator++(int);Point&operator--();Pointoperator--(int);voidShow();private:int_x;//私有数据成员int_y

4、;};Point::Point(){//Point类构造函数_x=0;_y=0;}Point::Point(intx,inty)//Point类构造函数{_x=x;_y=y;}Point&Point::operator++()//重载后置++运算符为Point类成员函数{_x++;_y++;}PointPoint::operator++(int)//重载前置++运算符为Point类成员函数{Pointold=*this;++(this->_x);++(this->_y);returnold;}Poin

5、t&Point::operator--()//重载后置--运算符为Point类成员函数{_x--;_y--;}PointPoint::operator--(int)//重载前置--运算符为Point类成员函数{Pointold=*this;--(this->_x);--(this->_y);returnold;}voidPoint::Show()//输出Point的坐标值{cout<<_x<<","<<_y<<")"<

6、象aPointb=a++;//定义Point类对象b并用a++初始化bPointc=++a;//定义Point类对象c并用++a初始化cPointd=--a;//定义Point类对象d并用--a初始化dPointe=a--;//定义Point类对象e并用a--初始化ecout<<"Pointa(";a.Show();//输出a的坐标cout<<"Pointb(";b.Show();//输出b的坐标cout<<"Pointc(";c.Show();//输出c的坐标cout<<"Pointd(";d.Sh

7、ow();//输出d的坐标cout<<"Pointe(";e.Show();//输出e的坐标return0;}运行结果:2编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数

8、,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp#includeusingnamespacestd;classvehicle//基类vehicle{public:vehicle(){}~vehicle(){}virtualvoidRun(){cout<<"Thevehicleisrunning!"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。