- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 如果赋值运算符说明为保护或私有的,则可以将赋值操作限定在类的作用域范围,防止应用程序中使用赋值操作: class Name { protected: Name operator =(Name S) { return * this; } }; void fn(Name n) { Name newN; hewN=n; //error } 因为Name类对象newN使得=匹配为Name类的赋值运算符,但是protected限定符使之不能在普通函数中被调用,从而防止了对象非法赋值操作。 * 对于用户自定义的结构变量,可以进行赋值运算。但是数组变量之间不能进行相互赋值。 对于用户自定义的类对象之间可以直接进行相互赋值运算,因为C++提供了默认的赋值运算符重载。 注意区分拷贝构造函数与赋值运算符的使用时机。 赋值运算符只能通过说明一个非静态成员函数来重载。 * 运行结果为 the value is 20 the value iS 20 the value iS 21 the value is 22 the value is 24 the value is 25 前后增量操作的意义,决定了其不同的返回方式。前增量运算符返回引用,后增量运算符返回值。 后增量运算符中的参数int只是为了区别前增量与后增量,除此之外没有任何作用。因 为定义中,无须使用该参数,所以形参名在定义头中省略。 对于(n++)++中的第二个++是对返回的临时对象所作的,从最后一行输出可以看出 对n的修改只发生一次。 * 非成员形式重载 前增量和后增量的非成员运算符,也有类似的编译区分方法。例如,下面的程序将 前增量和后增量运算符修改为非成员形式: * class Increase{ public: Increase(int x):value(x){} friend Increase operator ++(Increase ); //前增量 friend Increase operator ++ (Increase int); //后增量 void display(){ cout the value is value endl; } private: int value; }; * Increase operator ++(Increase a) { a.value++; //前增量 return a; //再返回原对象 } Increase operator ++ (Increase a, int) { Increase temp(a); //通过拷贝构造函数保存原有对象值 a.value++; //原有对象增量修改 return temp; //返回原有对象值 } * void main() { Increase n(20); n.display(); (n++).display(); //显示临时对象值 n.display(); //显示原有对象 ++n; n.display(); ++(++n); n.display(); (n++)++; //第二次增量操作对临时对象进行 n.display(); cin.get(); } * 运行结果为: the value iS 20 the value iS 20 the value iS 21 the value is 22 the value iS 24 the value iS 25 可见,前增量和后增量运算符的定义以及成员形式与非成员形式稍有不同,但前增量和后增量运算符的使用完全相同。 * 本章主要内容 运算符重载的需要性 重载运算符作友元函数 运算符作成员函数 增量运算符重载 转换运算符重载 赋值运算符重载 程序中在进行赋值、计算、给函数传值以及从函数返回值时,经常会发生类型之间的转换。 怎样转换用户自定义类型呢? 通过转换构造函数能把其他类型(包括内
您可能关注的文档
最近下载
- 天津正天骨耗产品手册.pdf
- 阅读理解之研究报告类-2025年新高考必威体育精装版英语模拟试题优选分类汇编(解析版).docx VIP
- Unit 2 Transportation Reading and Writing 课件 中职英语高教版基础模块1(2023修订版).pptx VIP
- 《中华人民共和国教育法》培训解读课件.pptx VIP
- NIFD:人工智能-2024Q1中国宏观金融报告-NIFD季报-探寻新质生产力(2).docx VIP
- OECD:在工作场所使用人工智能(1).docx VIP
- 种植技术指导员聘书.pptx VIP
- 三年级上册《水》单元解读与教学建议.pptx VIP
- SalesDriver:2024中国B2B企业信息流投放获客白皮书(1).docx VIP
- 《中华人民共和国职业教育法》培训解读课件.pptx VIP
文档评论(0)