版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资料收集于网络,如有侵权请联系网站删除实验6运算符重载实验目的掌握运算符重载的规则;掌握运算符成员函数与运算符友元函数的实现及应用;学会定义类中单目和双目运算符的重载函数;理解重载运算符的作用,学会对典型的运算符进行重载。实验学时本次实验需要2个学时。实验要求实验上机之前根据实验内容要求自行设计编写程序完成预习报告。验上机时调试并修正程序。当次上机结束前分析错误原因并给出实验结论,提交实验报告。实验内容1.基部分(1)定义复数complex包括私有数据成员实real和虚部image。定义该类的构造,拷贝构造,析构函数。为该类重载运算+-友元函数前置和后置++,(成员函数插入符和取符>>友元函数在函数里定义复数对象,测试重载的这些运算符。2.进部分(2设计一个mystring包括数据成员*pstr;和intlength;通过运算符重载实现字符串的输入>、输出<、连接+=、赋=、关系运算==、!=、、<标[]等运算。(定义复数类complex包私有数据成员实部和部定义该类的构造,拷贝构造,析构函数。为该类重载运算元函数后+成函数和取<<(友元函数在函里定义复数对象,测试重载的这些运算符。#include<iostream>#include<string>word可辑资料收集于网络,如有侵权请联系网站删除namespaceclass{real1=0,intimage1=0):real(real1),image(image1){}~Complex(){};ComplexComplexconst&a2);Complexoperator-(constComplexComplex&a2);operator--(int);ostream&operator<<(ostream&Complex&a3);operator>>(istream&Complex&a3);intintimage;};&a1,constComplex&a2){Complex(a1.real+a2.real,+}Complexconst{Complex(a1.real-a1.imagea2.image);}Complex::operator++(){*this;}{word可辑资料收集于网络,如有侵权请联系网站删除a*this;++(*this);}Complex::operator--(){--image;*this;}Complex::operator--(int){a*this;--(*this);*this;}operator<<(ostream&os,a3){os<<a3.real<<"+"<<<<"i";}istream&operator>>(istream&{is>>a3.real>>}int{a5(6,7),A,B;cout<<a4<<endl;cout<<a5<<endl;cout<<"请重新为对输入数据"cin>>word可辑资料收集于网络,如有侵权请联系网站删除cin>>cout<<"重新输入后a4"<<endl;cout<<"重新输入后a5"<<endl;A=a4cout<<"重载修改后加法A:";cout<<A<<endl;A=a4-cout<<"重载修改后减法A:";cout<<A<<endl;cout<<"载修改后前置++:"<<++a4endl;cout<<"载修改后后置+<<a5++endl;cout<<"重载修改后再次修改的前置endl;cout<<"重载修改后再次修改的后置endl;0;}(2设计一个mystring类包括数据成员char*pstr;和int通运符重载实现字符串的输入>>、输出<<、+、赋值=、关系运算(==、!=、>、标[]等算。<iostream><string>namespaceclassmystring{mystring(char~mystring(){free(pstr);}mystring&operator=(mystring&word可辑资料收集于网络,如有侵权请联系网站删除void&a){this->pstr=(char*)realloc(this->pstr,this->length+1);+(this->length),}char&&{ifs.pstr)==1;0;}!=(constmystring&s){ifs.pstr)1;0;}<(constmystring&s){ifs.pstr)<0)1;0;}>(constmystring&s){ifs.pstr)>0)1;0;word可辑资料收集于网络,如有侵权请联系网站删除}&<<(ostream&mystring&{return<<s.pstrstrlen(s.pstr);}&operator>>(istream&&{is>>s.length;s.pstr=newchar[s.length1];is>>+=}int};*p){this->pstr=(char*)malloc(strlen(p)+1);p);strlen(p);}mystring&mystring::&{delete[]pstr;this->pstr=char[strlen(s.pstr)+1];if(pstr)strcpy(this->pstr,s.pstr);return*this;}char&mystring::operator[](int{charch=0;if>length0){cout<<"数组越界"<<endl;word可辑资料收集于网络,如有侵权请联系网站删除ch;}*(pstrn);}int{mystringb("defe");//mystringc(a);//cout<<c;cout<<""<<endl;a=cout<<endl;a+=cout<<endl;cin>>a;cout<<endl;if>b){cout<<"a字符串更大"<<a<<endl;}if<b)cout<<"b字串更大"<<bendl;if==b)word可辑资料收集于网络,如有侵权请联系网站删除cout<<"a,b相"<<a<<endl;if!=cout<<"a,b不等"<<endl;'cout<<endl;}实验心得:本次实验们所学习的是函数的重载,函数的重载是为了满足不环境下调用函数不同的问题。比如求最大值,我们三个值最大值,两个值求更大值。在这里运用函数的重载我只需定义一个函数为max,采用不同个的形参就可以完成,样使读者更加的清晰你要在这个函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 备战2024年高考化学模拟卷(黑龙江、甘肃、吉林、安徽、江西、贵州、广西)02(考试版)
- 闽江学院《护理学导论与法律法规》2025-2026学年期末试卷
- 江西科技学院《方剂学》2025-2026学年期末试卷
- 长春工程学院《刑事诉讼法》2025-2026学年期末试卷
- 福建艺术职业学院《中级微观经济学》2025-2026学年期末试卷
- 长治医学院《语言与文化》2025-2026学年期末试卷
- 漳州职业技术学院《康复功能评定学》2025-2026学年期末试卷
- 南昌理工学院《学前教育学》2025-2026学年期末试卷
- 滁州职业技术学院《旅游资源管理》2025-2026学年期末试卷
- 福建生物工程职业技术学院《社会保障概论》2025-2026学年期末试卷
- 对外投资合作国别(地区)指南 2025 乌兹别克斯坦
- 2026年大连公交客运集团有限公司校园招聘笔试参考试题及答案解析
- 2026年红楼梦女性观透过人物分析
- 2026云南楚雄州南华县国有资本管理有限公司招聘13人笔试参考试题及答案解析
- 2025届吉林省长春市高三下学期质量监测(二)化学试卷(含答案)
- 2026国家安全教育知识测试题及答案
- 2025年版义务教育劳动课程标准
- 2026年海洋强国战略
- 2025年前海超量子基金笔试及答案
- 农产品冷链物流建设方案
- 学生学习心理与学业倦怠干预手册
评论
0/150
提交评论