运算符重载C++课程实验报告.doc
- 文档编号:1646601
- 上传时间:2022-10-23
- 格式:DOC
- 页数:3
- 大小:48KB
运算符重载C++课程实验报告.doc
《运算符重载C++课程实验报告.doc》由会员分享,可在线阅读,更多相关《运算符重载C++课程实验报告.doc(3页珍藏版)》请在冰豆网上搜索。
C++第四次实验
学生姓名
xxx
班级
学号
xxxxxxxxx
实验项目
实验四运算符重载
指导教师
杜之波
实验目的和要求
一、实验目的
(1)掌握通过运算符重载实现多态性的方法;
(2)学会运算符重载的成员函数法和友元函数法;
(3)能区分单目运算符的前置与后置。
二、实验内容
编写如下要求的完整程序:
点对象运算符重载
(1)建立点类,包含两个成员变量,分别表示横坐标和纵坐标;
(2)具体要求
1,重载前置运算符++、--;
2,重载后置运算符++、--;
3,主函数:
申明点对象,进行前置和后置运算并显示点值。
实验内容
实验程序设计如下:
#include
usingnamespacestd;
classAB
{
public:
AB(intxx,intyy);
voidShowAB();
AB&operator++();
ABoperator++(int);
AB&operator--();
ABoperator--(int);
private:
intx1,x2;
};
AB:
:
AB(intxx,intyy)
{
x1=xx;
x2=yy;
}
voidAB:
:
ShowAB()
{
cout< } AB&AB: : operator++() { x1++; x2++; return*this; } ABAB: : operator++(int) { ABold=*this; ++(*this); returnold; } AB&AB: : operator--() { x1--; x2--; return*this; } ABAB: : operator--(int) { ABold=*this; --(*this); returnold; } intmain(void) { ABAA(0,0); ABBB(0,0); cout<<"A的值为: "; AA.ShowAB(); cout<<"B的值为: "; BB.ShowAB(); cout<<"B=A++运算后,A的值为: "; (++AA).ShowAB(); cout<<"B的值为: "; (BB++).ShowAB(); cout<<"B=++A运算后,A的值为: "; (++AA).ShowAB(); cout<<"B的值为: "; (++BB).ShowAB(); cout<<"B=A--运算后,A的值为: "; (--AA).ShowAB(); cout<<"B的值为: "; (BB--).ShowAB(); cout<<"B=--A运算后,A的值为: "; (--AA).ShowAB(); cout<<"B的值为: "; (--BB).ShowAB(); return0; } 实验结果如图: 实验心得: 实验过程中值得注意的是区分前置和后置运算符的区别: 前置运算符先运算后返回;后置运算符先返回后运算。 这点很重要,由于之前没有注意,所以做出来的值不对,后来改正之后就对了。 通过这次实验,我基本掌握了通过运算符重载实现多态性的方法,学会了运算符重载的成员函数法和友元函数法,基本能够区分单目运算符的前置与后置。 教师签字 签字日期 2011年6月14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 重载 C+ 课程 实验 报告