实验八 运算符重载

实验八 运算符重载

ID:13183542

大小:45.50 KB

页数:5页

时间:2018-07-21

实验八 运算符重载_第1页
实验八 运算符重载_第2页
实验八 运算符重载_第3页
实验八 运算符重载_第4页
实验八 运算符重载_第5页
资源描述:

《实验八 运算符重载》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验八运算符重载一、实验类型设计型二、实验目的1、实验目的(1)理解运算符重载的意义。(2)掌握利用友元函数和成员函数进行运算符重载的方法。三、上机准备1、实验室安装VC++6.0软件。2、运算符重载的基本概念、运算符重载的定义和使用方法四、实验内容与步骤1、下列程序利用友元函数重载运算符“+”,实现sample类对象的直接相加运算。修正程序中的错误,使程序能正确运行。程序代码:#includeclasssample{private:intx;public:sample(){}

2、sample(inta){x=a;}voiddisp(){cout<<"x="<

3、如friendsampleoperator+(sample&s1,sample&s2);(2)友元函数为类外部的函数,而非类中的成员函数,其定义格式与普通函数相同,如sampleoperator+(sample&s1,sample&s2)(3)思考修改上述程序,如何利用成员函数实现运算符的重载?2、定义一个Matric类,并对()运算符进行重载,修正程序中的错误,使程序有如下输出:5,6,7,8,9,程序代码如下:#includeclassMatrix{publicMatrix

4、(intr,intc){row=r;col=c;elem=newdouble[row*col];}doubleoperator()(intx,inty){returnelem[col*(x-1)+y-1];}Matrix(){deleteelem;}private:double*elem;introw,col;};voidmain(){Matrixm(5,8);for(inti=0;i<5;i++)m(i,1)=i+5;for(i=0;i<5;i++)cout<

5、ndl;}提示与分析:(1)类中成员的访问属性(权限)主要有三种public、private和protected,说明成员的访问属性时需要使用“:”。(2)利用成员函数进行运算符重载的格式为:<返回类型>operator<运算符符号>(参数列表),如,double&operator()(intx,inty)。(3)构造函数与虚构函数名称类似,构造函数名与类名相同,但析构函数名还包括“~”符号。(4)使用new分配堆空间,在使用完成后,需要使用delete释放堆空间,如果是数组需要配合使用“[]”,如,

6、delete[]elem;3、设计一个用于人事管理的人员类。数据成员包括编号、姓名、性别、出生日期、身份证号等。其中,“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。并对人员类重载“==”运算符和“=”运算符,“==”运算符判断两个人员类对象的身份证号属性是否相等;“=”运算符实现人员类对象的赋值操作。提示与分析:(1)建立一个人员(Person)类。(2)包括数据成员:编号(No)、姓名(Name)、性别(Sex)、出生日期(Birthday)、身份证号(ID),其

7、中,Name、Sex、ID使用字符数组存储,No为整型,而Birthday为日期(TDate)类子对象。(3)构建一个日期(Date)类,包括数据成员:年(Year)、月(Month)和日(Day);成员函数包括构造函数和显示日期(print)。(4)Person类的成员函数为信息录入(inputInfo)和显示(printInfo),函数声明如下:voidinputInfo(char*pName,char*pSex,char*pID);voidprintInfo();(5)利用成员函数重载“==”运

8、算符,成员函数定义如下:intoperator==(Person&person){returnstrcmp(this->ID,person.ID);}(6)利用成员函数重载“=”运算符,成员函数定义如下:Person&operator=(Person&person){strcpy(Name,person.Name);strcpy(Sex,person.Sex);strcpy(ID,person.ID);return*this;}(7)在main函数中可以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。