运算符重载C++课程实验报告.doc

上传人:b****2 文档编号:1646601 上传时间:2022-10-23 格式:DOC 页数:3 大小:48KB
下载 相关 举报
运算符重载C++课程实验报告.doc_第1页
第1页 / 共3页
运算符重载C++课程实验报告.doc_第2页
第2页 / 共3页
运算符重载C++课程实验报告.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

运算符重载C++课程实验报告.doc

《运算符重载C++课程实验报告.doc》由会员分享,可在线阅读,更多相关《运算符重载C++课程实验报告.doc(3页珍藏版)》请在冰豆网上搜索。

运算符重载C++课程实验报告.doc

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1