欢迎来到天天文库
浏览记录
ID:56194622
大小:48.00 KB
页数:3页
时间:2020-03-19
《运算符重载—C++课程实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++第四次实验学生姓名xxx班级学号xxxxxxxxx实验项目实验四运算符重载指导教师杜之波实验目的和要求一、实验目的(1)掌握通过运算符重载实现多态性的方法;(2)学会运算符重载的成员函数法和友元函数法;(3)能区分单目运算符的前置与后置。二、实验内容编写如下要求的完整程序:点对象运算符重载(1)建立点类,包含两个成员变量,分别表示横坐标和纵坐标;(2)具体要求1,重载前置运算符++、--;2,重载后置运算符++、--;3,主函数:申明点对象,进行前置和后置运算并显示点值。实验内容实验程序设计如下:#includeusingnamespacestd;c
2、lassAB{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<3、;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的值为:";(++4、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;}实验结果如图:实验心得:实验过程中值得注意的是区分前置和后置运算符的区别:前置运算符先运算后返回;后置运算符先返回后运算。这点很重要,由于之前没有注意,所以做出来的值不对,后来改正之后就对了。通过这次实5、验,我基本掌握了通过运算符重载实现多态性的方法,学会了运算符重载的成员函数法和友元函数法,基本能够区分单目运算符的前置与后置。教师签字签字日期2011年6月14
3、;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的值为:";(++
4、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;}实验结果如图:实验心得:实验过程中值得注意的是区分前置和后置运算符的区别:前置运算符先运算后返回;后置运算符先返回后运算。这点很重要,由于之前没有注意,所以做出来的值不对,后来改正之后就对了。通过这次实
5、验,我基本掌握了通过运算符重载实现多态性的方法,学会了运算符重载的成员函数法和友元函数法,基本能够区分单目运算符的前置与后置。教师签字签字日期2011年6月14
此文档下载收益归作者所有