




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+ 运算符重载-集合运算.txt30生命的美丽,永远展现在她的进取之中;就像大树的美丽,是展现在它负势向上高耸入云的蓬勃生机中;像雄鹰的美丽,是展现在它搏风击雨如苍天之魂的翱翔中;像江河的美丽,是展现在它波涛汹涌一泻千里的奔流中。#include#include #include /*/enum errcode noerr,overflow;/定义集合类 class set public:void print();/显示输出集合元素set()card=0;virtual set();errcode additem(int); /增加集合元素friend bool operator &(int,set);/声明重载运算符&,判断某一整数是否属于某一集合friend bool operator =(set,set);/声明重载运算符=,判断两个集合是否相等friend bool operator !=(set,set);/声明重载运算符!=,判断两个集合是否不等friend set operator *(set,set);/声明重载运算符*,求两个集合的交friend set operator +(set,set);/声明重载运算符+,求两个集合的并friend bool operator (set,set);/声明重载运算符,判断某一集合是否为另一集合的纯子集friend bool operator =(set,set);/声明重载运算符,判断某一集合是否为另一集合的子集private:int elems16;int card;/*/ 集合类的各个成员函数的具体定义set:set()/*/*函数名称:print功能描述:显示复数修改记录:*/void set:print()cout;for(int i=0;icard-1;i+)coutelemsi0)coutelemscard-1n;/*/*函数名称:additem功能描述:增加集合元素修改记录:*/errcode set:additem(int elem)for(int i=0;icard;i+)if(elemsi=elem)return noerr;if(card16)elemscard+=elem;return noerr;elsereturn overflow;/*/*函数名称:operator &功能描述:声明重载运算符&,判断某一整数是否属于某一集合修改记录:*/bool operator &(int elem,set set1)for(int i=0;iset1.card ;+i)if(set1.elemsi=elem)return true;return false;/*/*函数名称:operator =功能描述:声明重载运算符=,判断两个集合是否相等修改记录:*/bool operator =(set set1,set set2)if(set1.card !=set2.card )/两个集合个数不等,必不相等return false;for(int i=0;iset1.card;i+)if(!(set1.elems i& set2)/调用&定义return false;return true;/*/*函数名称:operator !=功能描述:声明重载运算符!=,判断两个集合是否不等修改记录:*/bool operator !=(set set1,set set2)if(set1= set2)return false;elsereturn true;/*/*函数名称:operator *功能描述:声明重载运算符*,求两个集合的交修改记录:*/set operator *(set set1,set set2)set res;for(int i=0;iset1.card ;i+)for(int j=0;jset2.card ;j+)if(set1.elems i=set2.elems j)res.elems res.card += set1.elems i;break;/取set1中的每一个元素判断是否属于set2,若属于则加入到res中return res;/*/*函数名称:operator +功能描述:声明重载运算符+,求两个集合的并修改记录:*/set operator +(set set1,set set2)set res=set1;for(int i=0;iset2.card ;i+)res.additem (set2.elems i);/将set2中的元素追加到res中return res;/*/*函数名称:operator 功能描述:声明重载运算符,判断某一集合是否为另一集合的纯子集修改记录:*/bool operator (set set1,set set2)if(set1.cardset2.card & set1=set2)return true;elsereturn false;/*/*函数名称:operator =功能描述:声明重载运算符,判断某一集合是否为另一集合的子集修改记录:*/bool operator set2.card )return false;for(int i=0;iset1.card ;i+)if(!(set1.elems i & set2)return false;return true;/*/ void jiemian();void tuichu();void setcompute();/*/* main函数 */*/int main()jiemian();return 0; /*/* 主界面函数,实现了界面及函数调用 */*/void jiemian()int i;coutendlendl;cout-endl;cout* *endl;cout欢迎进入用运算符重载实现特殊计算器程序 endl;cout* *endl;cout-endl;while(i)coutendlendl;cout请选择您的计算类型:endlendl;cout 1.集合计算;endl;cout 0.退出;endl;couti;cout=0 & i=1)switch(i)case 1: setcompute();break;case 0:tuichu();break;elsecout输入错误!;cout重新输入endl; /*/* 退出函数 */*/void tuichu()cout-endl;cout* *endl;cout谢谢使用运算符重载实现特殊计算器程序,再见! endl;cout* *endl;cout-endl;/*/* 集合计算函数 */*/ void setcompute()int j;cout请选择您的集合计算内容:endlendl;cout 1.两个集合的交集;endl;cout 2.两个集合的并集;endl;cout 3.一个集合是否为另一个集合的子集;endl;cout 0.返回主界面;endl;coutj;cout=0 & j=3)int r1,r2,val,n;set set1,set2,set3;coutr1;coutr2;cout请输入第一个集合的元素:endl;for(n=1;n=r1;n+)cout第nval;set1.additem (val);set1.print ();cout请输入二个集合的元素:endl;for(n=1;n=r2;n+)cout第nval;set2.additem (val);set2.print ();switch(j)case 1:set3=set1*set2;cout第一个集合为:endl;set1.print ();cout第二个集合为:endl;set2.print ();cout交集为:endl;set3.print ();break;case 2:set3=set1+set2;cout第一个集合为:endl;set1.print ();cout第二个集合为:endl;set2.print ();cout并集为:endl;set3.print ();break;case 3:cout第一个集合为:endl;set1.print ();cout第二个集合为:endl;set2.print ();if(set1set2)cout第一个集合为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车轻量化材料在汽车轻量化车身制造工艺中的应用趋势报告
- 现场品质培训课件
- 2025年智能制造示范工厂建设中的环保与可持续发展实施方案报告
- 2025年数字艺术产业报告:作品创作、交易与版权保护市场风险与机遇分析
- 现场传授式专业知识培训课件
- 2026届浙江省杭州市西湖区杭州学军中学化学高二上期末统考模拟试题含答案
- 浙江省杭州市杭州第二中学2026届化学高一第一学期期中监测试题含解析
- 2026届贵州省遵义市务川民族中学化学高二上期末质量跟踪监视试题含答案
- 现代水文学研究生课件
- 2026届广西岑溪市高一化学第一学期期末联考模拟试题含解析
- 寺庙斋堂卫生管理制度
- 2025-2030学生文具行业市场发展分析及竞争格局与投资战略研究报告
- 2025-2030中国水下混凝土行业市场发展趋势与前景展望战略研究报告
- GB/T 30134-2025冷库管理规范
- 2025-2030中国声屏障行业市场发展趋势与前景展望战略研究报告
- 板房拆迁补偿协议书
- 基于Fitch支持性照顾需求理论的儿童肺移植患者出院准备服务模式的构建
- 2025年上交所期权交易资质测试题库
- 车库洗车日常管理制度
- 2025年心理咨询师基础理论知识测试卷:心理咨询心理学理论体系试题
- 宿管面试试题及答案
评论
0/150
提交评论