- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 运算符的重载 本章要点: ? 掌握运算符重载的目的和特点 ? 掌握运算符重载的两种定义形式 ? 掌握几种常用的运算符重载方法 ? 掌握自定义类型的转换 8.1 循序渐进学理论 8.1.1 运算符的重载 class Student { public: Student(string i,int j) : name(i), age(j) { } void Print() { cout name , age endl; } Student operator = (const Student ); // 赋值运算符重载函数 private: int age; string name; }; Student Student::operator = (const Student a) { if (this != a) // ①防止一个类对象向自己赋值 { name = a.name; age = a.age; } else cout 抱歉,不允许自身复制! endl; return *this; // ② 返回值是类对象的引用 } class Sentence { int length; string str; public: int getlength(){return length;} Sentence(string i) :str(i) { length = i.size(); } char operator [ ](int n) // ①下标符的重载函数 { static char ch; // 静态字符被自动初始化为空字符 if (nlength-1 || n0) {cout报歉,数组下标越界!; return ch; } else return str[n]; // ② 返回下标指定的字符 } void disp() { coutstrendl; } }; class Student { public: Student(string i,int j) : name(i), age(j) {} // ② 友元函数 friend int operator -(const Student ,const Student ); string getName() { return name;} int getAge() { return age;} private: int age; string name; }; // ① 减法运算符重载 int operator - (const Student a,const Student b) { return (a.age-b.age); } class A { public: A() { number = 0; } A(int i) { number = i; } int operator ++() // ① 递增运算符的前缀重载 { return ++number;} // ② 内嵌的递增运算符 int operator ++(int) // ③ 递增运算符的后缀重载 { return number++;} // ④ 内嵌的递增运算符 void Print() { cout number = number endl;} private: int number; }; 8.2 典型实例练能力 8.2.1 典型实例一:自定义矩阵的运算 【实例题目】 编写一个程序,实现矩阵的加法、减法和乘法运算。 8.3 上机练习重应用 8.3.1 上机练习一:复数的运算(二) 【练习题目】 改写6.3.1节的上机练习一,通过运算符的重载,实现复数的加法、减法、乘法,以及复数特定格式的输出。 * * C++语言引入了运算符重载机制,程序员可以按照需要重新定义大部分的运算符,如“+”、“-”、“*”、“=”、“!”等,替换类中的成员函数,完成特定的功能。
您可能关注的文档
最近下载
- 国开(BJ)-公共危机管理(本)-第三次形成性考核-学习资料.docx VIP
- 人教版(2024新版)七年级上册英语 Unit 2单元测试卷(含答案).docx VIP
- 数字描红1到10田字格字帖A4纸可直接打印.doc VIP
- [医院保洁服务方案] 医院保洁方案范本.pdf VIP
- Oerlikon Metco热喷涂技术简介.pdf
- 认知过程注意篇.pptx VIP
- 奥林巴斯E-PL7使用说明书.docx
- 国开(BJ)-公共危机管理(本)-第五次形成性考核-学习资料.docx VIP
- 有机茶园的生产与管理有机茶园施肥技术有机茶园的生产与管理有机茶园施肥技术.ppt VIP
- 认知心理学-注意过程.ppt VIP
文档评论(0)