没有合适的资源?快使用搜索试试~ 我知道了~
C++上机实验报告实验六 (2).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 149 浏览量
2023-02-27
19:48:43
上传
评论
收藏 232KB DOCX 举报
温馨提示
试读
16页
。
资源推荐
资源详情
资源评论
-------------精选文档-----------------
实验六
实验目的
1.掌握运算符重载的方法
2.学习使用虚函数实现动态多态性
实验要求
1.定义 Point 类,有坐标_x,_y 两个成员变量;对 Point 类重载“++”(自增)、
“――”(自减)运算符,实现对坐标值的改变。
2.定义一个车 (vehiele)基类,有 Run、Stop 等成员函数,由此派生出自行车
(bicycle) 类、汽车 (motorcar) 类 , 从 bicycle 和 motorcar 派生出摩托车
(motorcycle)类,它们都有 Run、Stop 等成员函数。观察虚函数的作用。
3. (选做)对实验 4 中的 People 类重载“==”运算符和“-”运算符,“==”
运算符判断两个 people 类对象的 id 属性是否相等;“-”运算符实现 People
类对象的赋值操作。
实验内容及实验步骤
1.编写程序定义 Point 类,在类中定义整型的私有成员变量_x_y,定义成员函数
Point& operator++();Point operator++(int);以实现对 Point 类重载“++”
(自增)运算符,定义成员函数 Point& operator--();Point operator--
(int);以实现对 Point 类重载“--”(自减)运算符,实现对坐标值的改变。程
序名:1ab8_1.Cpp
#include <iostream>
using namespace std;
class Point
可编辑
-------------精选文档-----------------
{
public:
Point();
Point(int x,int y);
~Point(){}
//Point 类析构函数
//公有成员函数
Point& operator++();
Point operator++(int);
Point&operator--();
Point operator--(int);
void Show();
private:
int _x;
int _y;
//私有数据成员
};
Point::Point(){
//Point 类构造函数
//Point 类构造函数
_x=0;_y=0;}
Point::Point(int x,int y)
{
_x=x;
_y=y;
}
Point & Point::operator++()
//重载后置++运算符为 Point 类成员函
可编辑
-------------精选文档-----------------
数
{
_x++;
_y++;
}
Point Point::operator++(int)
{
//重载前置++运算符为 Point 类成员函数
Point old=*this;
++(this->_x);
++(this->_y);
return old;
}
Point & Point::operator--()
//重载后置--运算符为 Point 类成员函数
{
_x--;
_y--;
}
Point Point::operator--(int)
{
//重载前置--运算符为 Point 类成员函数
Point old=*this;
--(this->_x);
--(this->_y);
可编辑
-------------精选文档-----------------
return old;
}
void Point::Show()
{
//输出 Point 的坐标值
cout<<_x<<","<<_y<<")"<<endl;
}
int main()
{
Point a(2,3);
//定义一个 Point 类对象 a
Point b=a++;
//定义 Point 类对象 b 并用 a++初始化
b
Point c=++a;
Point d=--a;
Point e=a--;
cout<<"Point a(";
a.Show();
//定义 Point 类对象 c 并用++a 初始化 c
//定义 Point 类对象 d 并用--a 初始化 d
//定义 Point 类对象 e 并用 a--初始化 e
//输出 a 的坐标
//输出 b 的坐标
//输出 c 的坐标
cout<<"Point b(";
b.Show();
cout<<"Point c(";
c.Show();
cout<<"Point d(";
d.Show();
//输出 d 的坐标
可编辑
剩余15页未读,继续阅读
资源评论
G11176593
- 粉丝: 6646
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于c++的个人收支管理系统设计
- docker一键安装包
- Screenshot_20240430_144340_com.ss.android.ugc.live.jpg
- 回到山沟沟.mp3
- 基于matlab实现自适应波束形成RLS及LMS算法仿真源程序1.rar
- 基于matlab实现自己编写的基于卡尔曼滤波的利用加速度传感器的计步器,测试数据是传感器放在腰部和手臂 .rar
- 基于matlab实现阵列信号处理,波束形成.rar
- 111111111111111111
- 基于matlab实现计步器编程;对当前的计步器装置的数值算法模拟 .rar
- Mdb学习查看PW;access;mdb;pw;password;patch
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功