C 第11章运算符重载课件.ppt

C 第11章运算符重载课件.ppt

ID:58891163

大小:216.50 KB

页数:85页

时间:2020-09-30

C  第11章运算符重载课件.ppt_第1页
C  第11章运算符重载课件.ppt_第2页
C  第11章运算符重载课件.ppt_第3页
C  第11章运算符重载课件.ppt_第4页
C  第11章运算符重载课件.ppt_第5页
资源描述:

《C 第11章运算符重载课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章 运算符重载:字符串和数组对象简介用普通函数重载用友员函数重载用成员函数重载典型的运算符重载输入输出重载实例研究:array类实例研究:string类运算符重载使得系统的内置运算符适用于类的对象之间的操作。提高程序的可读性。问题的提出希望某些运算符能够对整个对象进行操作,而不是C中的简单操作.例如:+运算符能够实现2个对象间的加。类A的对象a1、a2、a3,希望:a3=a1+a2;即:分别把对象a1和a2的各个数据成员值对应相加,然后赋给对象a3。问题的提出把某些事交给系统去做,用户只要知道相加就可提出运算符重载,扩充运算符的功能。即:对运算符进行重载定义,然

2、后使用,由系统自动判断究竟采用哪一个具体的运算符。增强了C++语言的可扩充性。运算符重载的限制不是所有的运算符都能重载重载不能改变运算符的优先级和结合性重载不能改变运算符的操作数个数不能创建新的运算符不能改变用于内部类型对象时的含义用于用户自定义类型对象,或者和内部类型的对象混合使用可以重载的运算符+       -       *       /       %         ^         &       

3、    ~       !       =       <       >       +=       -=       *=    /=      

4、 %=       ^=       &=       

5、=       <<       >>       >>=    <<=      ==       !=       <=       >=       &&       

6、

7、       ++    --       ->*       ,       ->       []       ()       new       delete    new[]    delete[].       .*        ::       ?:       sizeof不能重载的运算符:运算符重载的实现方法用普通函

8、数实现用成员函数实现用友元函数实现第11章 运算符重载:字符串和数组对象简介用普通函数重载用友员函数重载用成员函数重载典型的运算符重载输入输出重载实例研究:array类实例研究:string类用普通函数实现运算符重载创建运算符函数运算符函数名为:operator后接一个要重载的运算符。如:要重载“+”运算,函数名为operator+。重载“-”运算,函数名为operator-。参数表为要参加运算的对象,返回值为运算结果运算符重载函数实例#includeclasscomplex{public:intr,i;complex(intrr=0,inti

9、i=0){i=ii;r=rr;}};complexoperator+(complexa1,complexa2){complext;t.r=a1.r+a2.r;t.I=a1.i+a2.i;returnt;}voidmain(){complexa1(1,2),a2(3,4),b;b=a1+a2;cout<

10、用普通函数重载用友员函数重载用成员函数重载典型的运算符重载输入输出重载实例研究:array类实例研究:string类友元运算符函数把运算符函数定义成某个类的友元函数,称为友元运算符函数。友元函数在类内部的声明friendtypeoperator@(参数表);友元函数的定义:与一般函数相同typeoperator@(参数表){//函数体}双目运算符重载友元运算符函数必须有两个参数例:二元加操作符重载为友元函数#includeclassA{intx,y;public:A(intxx,intyy):x(xx),y(yy){}A(){x=0;y=0;}

11、friendAoperator+(constA&a,constA&b);voidshow(){cout<<"x="<cl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。