C++程序设计基础 安志远ppt第4章 运算符重载.ppt

C++程序设计基础 安志远ppt第4章 运算符重载.ppt

ID:51963517

大小:285.50 KB

页数:44页

时间:2020-03-26

C++程序设计基础 安志远ppt第4章 运算符重载.ppt_第1页
C++程序设计基础 安志远ppt第4章 运算符重载.ppt_第2页
C++程序设计基础 安志远ppt第4章 运算符重载.ppt_第3页
C++程序设计基础 安志远ppt第4章 运算符重载.ppt_第4页
C++程序设计基础 安志远ppt第4章 运算符重载.ppt_第5页
资源描述:

《C++程序设计基础 安志远ppt第4章 运算符重载.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章运算符重载1学习目标理解运算符重载的含义掌握运算符重载的一般规则掌握C++中运算符重载的实现方法:重载为成员函数、重载为友元函数熟练掌握C++中一些运算符的重载:++,--,[],(),<<,>>等掌握C++中类类型转换的实现24.1概述运算符重载就是给已有运算符赋予更多的含义,使它能够用于特定类的对象执行特定的功能,而且使用形式与基本类型数据的形式相同。运算符重载提供了重新定义语言、扩展语言的能力,使程序更加容易阅读和调试。运算符重载实际上就是函数重载。34.2运算符重载的一般规则运算符重载具有以下原则:1.重载的运算

2、符是C++中已经存在运算符,不能主观臆造。2.运算符重载不能改变运算符的语法结构,即单目运算符只能重载为单目运算符,双目运算符只能重载为双目运算符。3.运算符重载不能改变C++语言中已定义的运算符的优先顺序和结合性。4.运算符重载一般不改变运算符的功能。44.2运算符重载的一般规则5.不能重载的运算符有:(1)sizeof()运算符;(2)成员运算符(.);(3)指向成员的指针运算符(*);(4)作用域运算符(::);(5)条件运算符(?:);6.编译程序对运算符重载的选择遵循函数重载的选择规则。54.3用成员函数或友元函数重

3、载运算符4.3.1用成员函数重载运算符4.3.2用友员函数重载运算符64.3.1用成员函数重载运算符运算符重载为类的成员函数的一般语法形式如下:<类型><类名::>operator<运算符>(形参表){函数体;}其中,(1)“类型”是作为成员函数的返回类型;(2)“类名”是重载该运算符的类;(3)“运算符”是要重载的运算符;(4)operator是关键字,是重载运算符标志;(5)“形参表”表示该运算符所需要的操作数,二元运算符重载为类的成员函数,它们包含一个形参,即运算符右侧的操作数。7例4.1用成员函数重载算术运算符“+”。

4、#includeclasscomplex{//complex类声明private:doublex,y;//实部为x,虚部为ypublic:complex(doublexx=0,doubleyy=0){x=xx;y=yy;}doublegetx(){returnx;}//得到实部x值doublegety(){returny;}//得到虚部y值voiddisplay(){//输出复数cout<<"("<0)cout<<"+"<

5、)";elsecout<<")";}complexoperator+(complex&c1);//声明重载算术运算符“+”};84.3.1用成员函数重载运算符complexcomplex::operator+(complex&c1){complexc;c.x=this->x+c1.x;c.y=this->y+c1.y;returnc;}voidmain(){complexc1(3,4),c2(4,-5),c3;c3=c1+c2;//使用重载的运算符c1.display();cout<<"+";c2.display();cout

6、<<"=";c3.display();cout<operator<运算符>(形参表){函数体;}其中:(1)函数类型指定了重载运算符的返回值类型,也就是运算结果类型。(2)operator是定义运算符重载函数的关键字。(3)运算符是要重载的运算符名称。(4)形参表给出重载运算符所需要的参数和类型。(5)friend是对于运算符重载为友元函数时,在函数类型说明之前使用的关键字。10例4.2用友元函数重载算术运算符“*

7、”。#includeclasscomplex{//complex类声明private:doublex,y;//实部为x,虚部为ypublic:complex(doublexx=0,doubleyy=0){x=xx;y=yy;}doublegetx(){returnx;}//得到实部x值doublegety(){returny;}//得到虚部y值voiddisplay(){cout<<"("<0)cout<<"+"<

8、lsecout<

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

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

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