《第8章运算符的重载》-精选课件(公开).pptVIP

《第8章运算符的重载》-精选课件(公开).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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++语言引入了运算符重载机制,程序员可以按照需要重新定义大部分的运算符,如“+”、“-”、“*”、“=”、“!”等,替换类中的成员函数,完成特定的功能。

文档评论(0)

老刘忙 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档