上海交通大学《C语言程序设计》课件-第11章运算符重载.pptxVIP

上海交通大学《C语言程序设计》课件-第11章运算符重载.pptx

  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文档。上传文档
查看更多
第11章 运算符重载 ;有理数的加法;什么是运算符重载;问题的提出;运算符重载的限制;可以重载的运算符;不能重载的运算符;第11章 运算符重载 ;运算符重载的方法;函数原型 ;重载实例;方案一:重载成成员函数;函数实现;bool Rational::operator(const Rational r1) const { return num * r1.den den * r1.num; } bool Rational::operator==(const Rational r1) const { return num == r1.num den == r1.den;} bool Rational::operator(const Rational r1) const { return num * r1.den den * r1.num; } bool Rational::operator=(const Rational r1) const { return num * r1.den = den * r1.num; } bool Rational::operator=(const Rational r1) const { return num * r1.den = den * r1.num; } bool Rational::operator!=(const Rational r1) const { return !(*this == r1);};方案二:重载成友元函数;函数的实现;重载后有理数类的使用;全局函数 vs成员函数;第11章 运算符??载 ;几个特殊的运算符的重载 ;赋值运算符;对IntArray类对象执行 array1 = array2的问题;赋值运算符“=”的原型;IntArray类的赋值运算符重载函数;赋值运算符重载要点;为什么返回return *this;为什么返回return *this;为什么返回return *this;这样写是否可以;这样写是否可以;赋值运算符重载和拷贝构造函数;几个特殊的运算符的重载 ;下标运算符重载;IntArray类的[ ]重载;IntArray类的使用;几个特殊的运算符的重载 ;函数调用运算符;函数调用运算符重载;函数调用运算符重载实例;IntArray operator()( int start, int end, int lh) { if (start end || start low || end high ) { cout 下标越界; exit(-1); } IntArray tmp(lh, lh + end - start); for (int i = 0; i end - start + 1; ++i) tmp.storage[i] = storage[start + i - low]; return tmp; } ;几个特殊的运算符的重载 ;“++”和“--”重载;“++”和“--”重载 cont.;++、--重载实例;类定义;类实现;类的使用;几个特殊的运算符的重载 ;重载函数的原型设计考虑;值返回时的优化;两种写法的比较;几个特殊的运算符的重载 ;输入输出运算符重载;输入输出运算符;输入输出运算符重载;输出重载函数的原型;实例;注意第二个形参;注意第二个形参;注意第二个形参;输入输出运算符重载;输入重载函数的原型;实例;第11章 运算符重载 ;类型转换--系统预定义类型间的转换;自定义类型转换运算符;类型转换;内置类型到类类型的转换;explicit构造函数;类型转换;类类型到内置类型或其他类类型的转换;Rational类到double的转换;经过运算符重载后的Rational类;Rational类的使用;第11章 运算符重载 ;运算符重载实例;IntArray.h;public: //根据low和high为数组分配空间。 IntArray(int lh = 0, int rh = 0):low(lh), high(rh) { storage = new int [high - low + 1]; } //拷贝构造函数 IntArray(const IntArray arr); //赋值运算符重载函数 IntArray IntArray::operator=(const IntArray a); //下标运算符重载函数 int operator[](int index); const int operator[](int index) const; //获取数组规模 void getSi

文档评论(0)

逍遥子 + 关注
实名认证
文档贡献者

互联网搬运工

1亿VIP精品文档

相关文档