C++程序设计简明教程2Eppt第6章运算符重载.ppt
《C++程序设计简明教程2Eppt第6章运算符重载.ppt》由会员分享,可在线阅读,更多相关《C++程序设计简明教程2Eppt第6章运算符重载.ppt(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第第6章章 C+运算符的重载运算符的重载v 运算符是一些系统预定义的函数名称v 即用一些特定的符号表示各种运算v 每个运算符对运算数据都有一定要求。例如:“+”运算符只能对int、double等类型进行加法运算。运算符重载是让运算符能够对新定义的数据类型进行运算。1 运算符重载含义运算符重载含义例如:dt是date类对象,语句dt+错误。因为date类是新数据类型,其中没有定义“+”运算符。class date int mo,da,yr;public:date(int m,int d,int y)mo=m;da=d;yr=y;void main()date dt(1,2,99);dt+;/错误
2、语句2C+运算符重载注意事项运算符重载注意事项 (1)一般来说,不改变运算符原有含义,只让它能够对新的数据类型进行计算。例如,重载“+”运算符后,它的功能还是进行加法运算。(2)重载运算符时,不能改变运算符原有的优先级别,也不能改变运算符需要的操作数的数目。(3)有些运算符不能进行重载。如“.”类成员运算符、“*”类指向运算符、“:”类作用域分解运算符、“?:”条件运算运算符。(4)不能人为定义新的运算符,只能使用系统提供的原有运算符。3二元算术运算符重载为类的成员函数二元算术运算符重载为类的成员函数v可以将运算符重载为类的成员函数。可以将运算符重载为类的成员函数。v实现运算符功能的成员函数称
3、成员运算符函数或运算符函数。实现运算符功能的成员函数称成员运算符函数或运算符函数。v在类中定义运算符函数时应注意以下问题:在类中定义运算符函数时应注意以下问题:(1)(1)对于一元运算符函数,用友元函数重载运算符时,需对于一元运算符函数,用友元函数重载运算符时,需要声明一个形式参数。若用成员函数重载运算符时,则不能再要声明一个形式参数。若用成员函数重载运算符时,则不能再声明形式参数,这个形式参数由成员函数的声明形式参数,这个形式参数由成员函数的thisthis指针提供。指针提供。(2)(2)对于二元运算符函数,用友元函数重载运算符时,需对于二元运算符函数,用友元函数重载运算符时,需要声明二个形
4、式参数。若用成员函数重载运算符时,则需要声要声明二个形式参数。若用成员函数重载运算符时,则需要声明一个形式参数,这个形式参数表示运算符的右操作数,左操明一个形式参数,这个形式参数表示运算符的右操作数,左操作数由成员函数的作数由成员函数的thisthis指针提供。指针提供。4程序程序6.1 成员运算符函数举例成员运算符函数举例日期类日期类datedate重载重载“+”运算符,实现日期加上一个天数,得到新日期。运算符,实现日期加上一个天数,得到新日期。static int dys=31,28,31,30,31,30,31,31,30,31,30,31;class date int mo,da,yr
5、;public:date(int m,int d,int y)mo=m;da=d;yr=y;void display()cout mo/da/dysdt.mo-1)day-=dysdt.mo-1;if(+dt.mo=13)dt.mo=1;dt.yr+;dt.da=day;return dt;void main()date olddate(2,20,99);date newdate;newdate=olddate+21;newdate.display();程序输出结果程序输出结果:3/13/995重载为类的友元函数重载为类的友元函数程序程序6.2 6.2 用友元函数重载运算符举例。用友元函数重载
6、运算符举例。static int dys=31,28,31,30,31,30,31,31,30,31,30,31;class date int mo,da,yr;public:date(int m,int d,int y)mo=m;da=d;yr=y;void display()cout mo/da/dysdt.mo-1)day-=dysdt.mo-1;if(+dt.mo=13)dt.mo=1;dt.yr+;dt.da=day;return dt;date operator+(int day,date&dt)dt=dt+day;return dt;void main()date olddate
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计简明教程2Eppt 第6章运算符重载 C+ 程序设计 简明 教程 Eppt 运算 重载
限制150内