实验8 多态性
(该实验环境为visual studio 2019,全部代码均已调试可运行)
一、 实验目的
(1) 掌握运算符重载的方法
(2) 学习使用虚函数实现动态多态性
二、 实验任务
(1) 声明Point类,有坐标_x,_y两个成员变量;对Point类重载“++(自增)”、“——(自减)”运算符,实现对坐标值的改变。
(2) 声明一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。
三、 实验步骤
(1) 编写程序声明Point类,在类中声明整型的私有成员变量_x,_y,声明成员函数Point&operator++();Point&operator++(int);以实现对Point类重载“++”运算符,声明成员函数Point&operator–();Point&operator–(int);以实现对Point类重载“–”运算符,实现对坐标值的改变。
代码:
#include<iostream>
using namespace std;
class Point {
public:
Point(int x,int y):_x(x),_y(y) {
}
void showPoint() const;
Point& operator++();
Point operator++(int);
Point& operator--();
Point operator--(int);
private:
int _x, _y;
};
void Point::showPoint() const {
cout << "(" << _x << "," << _y << ")" << endl;
}
Point& Point::operator++() {
_x++;
_y&#