C++的一个实验,高手帮忙啊~!

来源:百度知道 编辑:UC知道 时间:2024/07/11 23:00:16
帮忙弄个实验,要个实验的运行程序就好了,感激不尽啊~!快快快,真的很急啊~!
一、实验目的
(1)掌握通过运算符重载实现多态性的方法;
(2)学会运算符重载的成员函数法和友元函数法;
(3)能区分单目运算符的前置与后置。
二、实验内容
编写如下要求的完整程序:点对象运算符重载
(1)建立点类,包含两个成员变量,分别表示横坐标和纵坐标;
(2)具体要求
1,重载前置运算符++、--;
2,重载后置运算符++、--;
3,主函数:申明点对象,进行前置和后置运算并显示点值。
结果如下图(供参考):
A的值为: 0,0
B的值为:0,0

B=A++运算后,A的值为:1,1
B的值为:0,0
B=++A运算后,A的值为:2,2
B的值为:2,2
B=A--运算后,A的值为:1,1
B的值为:2,2
B=--A运算后,A的值为:0,0
B的值为:0,0

三、实验步骤
(1)创建工程项目
(2)程序设计
1,创建类,用两个成员变量分别表示点的横坐标和纵坐标
2,假设点对象++操作对应横坐标和纵坐标值分别+1;点对象--操作对应横坐标和纵坐标值分别-1。
3,注意区分前置和后置运算符的区别
前置运算符先运算后返回;后置运算符先返回后运算
4,编写主程序,体现前置运算和后置运算的区别
(3)程序调试与测试
----------------------------------------------------------------
要个实验的运行程序就好了
我就是想要个程序~!
OK?谢谢
C++程序~!

结果和你想要的一样:
#include<iostream.h>
#include<iomanip.h>
class over{
int x,y;
public:
void init(int i,int j);
void print();
over operator ++();
over operator ++(int);
friend over operator --(over &op);
friend over operator --(over &op,int);
};

void over::init(int i,int j)
{
x=i;
y=j;
}

void over::print()
{
cout<<x<<","<<y<<endl;
}

over over::operator++()
{ over op;
op.x=++x;op.y=++y;
return op;
}

over over::operator++(int)
{ over op;
op.x=x++;op.y=y++;
return op;
}

over operator--(over &op)
{ over op1;
op1.x=--op.x;
op1.y=--op.y;
return op1;
}
over operator--(over &op,int)
{ over op1;
op1.x=op.x--;op1.y=op.y--;
return op1;
}

main()
{
over A,B;
A.init(0,0);
B.init(0,0);
c