- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
friend point operator + (point p1,point p2); //重载运算符“+” friend point operator-(point p1,point p2); //和“-”为友元函数 }; point operator + (point p1,point p2) { return point (p1.x+p2.x, p1.y+p2.y); } point operator-(point p1,point p2) { return point (p1.x-p2.x, p1.y-p2.y); } void main() { point p1(3,3),p2(2,2),p3,p4; //声明point类的对象 p3=p1+p2; //两点相加 p4=p1-p2; //两点相减 coutp1+p2:x=p3.get_x(), y=p3.get_y()endl; coutp1-p2:x=p4.get_x(), y=p4.get_y()endl; } 4.3.4 其他运算符重载 前面介绍了一些简单运算符的重载,除此之外,还有以下运算符也常被重载。 1.比较运算符重载 例如,、、=、=、==和!=。 2.赋值运算符重载 例如,=、+=、-=、*=和/=,这些运算符的重载比较简单。 例4-8 这是一个含有比较运算符和赋值运算符重载的程序。 #include iostream.h class point { private: float x,y; public: point(float xx=0, float yy=0) {x=xx;y=yy;} point(point ); ~point(){} bool operator == (point); bool operator != (point); point operator += (point); point operator -= (point); float get_x(){return x;} float get_y(){return y;} }; point::point(point p) { x=p.x; y=p.y; } bool point::operator == (point p) { if( x==p.get_x() y==p.get_y() ) return 1; else return 0; } bool point::operator != (point p) { if(x!=p.get_x()y!=p.get_y()) return 1; else return 0; } point point::operator += (point p) { this-x+=p.get_x(); this-y+=p.get_y(); return *this; } point point::operator -= (point p) { this-x-=p.get_x(); this-y-=p.get_y(); return *this; } void main() { point p1(1,2),p2(3,4),p3(5,6); coutp1==p2? (p1==p2)endl; coutp1!=p2? (p1!=p2)endl; p3+=p1; coutp3+=p1,p3: p3.get_x(),p3.get_y()endl; p3-=p1; coutp3-=p1,p3: p3.get_x(),p3.get_y()endl; } 程序运行结果为: p1==p2? 0 p1!=p2? 1 p3+=p1,p3: 6,8 p3-=p1,p3: 5,6 #include iostream.h class Level1 //声明基类Level1 { public: int n1; void fun1(){coutThis is Level1,n1=n1endl;} }; class Level21:public Level1 //声明派生类Level21 { public: int n21; }; class Level22:public Level1 //声明派生类Level22 { public: int n22; }; class Level3:public Level21,public L
您可能关注的文档
最近下载
- 2025-2030中国实物文件销毁服务提供者服务行业市场发展趋势与前景展望战略研究报告.docx
- Mendeley使用介绍.pdf VIP
- 公考公务员考试省考国考行测常识判断题库完美版.docx VIP
- 常用词汇汉梵对照表.doc VIP
- 2025年中国人寿:国寿健康产业投资有限公司招聘笔试参考题库附带答案详解.pdf
- 小区物业管理服务质量量化考核表.docx VIP
- NB/T47020~47027-2012 压力容器法兰、垫片、紧固件.pdf
- 《能源工业互联网平台 新能源场站设备数据字典规范》.pdf VIP
- 保洁培训常用清洁剂的认识与使用.docx VIP
- 木材的燃烧与阻燃.pptx VIP
文档评论(0)