下载此文档

第7章 运算符重载.ppt


文档分类:IT计算机 | 页数:约50页 举报非法文档有奖
1/50
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/50 下载此文档
文档列表 文档介绍
《C++面向对象程序设计》教学内容
第1章 C++概述
第2章类和对象
第3章面向对象程序设计概述
第4章进一步学****类和对象
第5章堆与复制构造函数
第6章继承性:派生类
第7章运算符重载
第8章虚函数和多态性
第9章模板
第10章类库和C++的标准模板库STL
第11章输入输出流
第12章异常处理
第7章 运算符重载
重载运算符的目的
运算符重载语法
成员运算符函数
友元运算符函数
成员运算符函数与友元运算符函数比较
“++”和“--”的重载
赋值运算符“=”的重载
下标运算符”[ ]”与函数调用运算符”( )”的重载
构造函数用于类型转换
应用举例
重载运算符的目的
简略的表达方法
函数式的表达方法
运算符函数
运算符重载
简略的表达方法
x+y*z
简略的表达方法是一种缩略或公式化表达的方法。
好处:简明直观、能提高交流效率。
函数式的表达方法
plex{
private:
double real;
double image;
public:
Complex( );
Complex& plex&);
};
//…
Complex object1,object2,object3;
……
object3 =(object2);
这种表示复数加法很不直观
运算符函数
plex{ / / very plex
double re, im;
public:
complex(double r, double i) : re(r) , im(i) { }
complex operator+(complex) ;
complex operator*(complex) ;
};
运算符函数
运算符重载
void f( )
{
complex a = complex(1, ) ;
complex b = complex(, 2) ;
complex c = b;
a = b+c;
b = b+c*a;
c = a*plex(1,2) ;
}
运算符重载语法
运算符重载
C++语言提供的标准运算符可以重新在类中定义,使标准运算符作用于类的对象,从而使对象的计算操作表示得既自然又符合常规。
运算符函数
C++将运算符看作一种特殊类型的函数,运算符的重载是通过对运算符函数的重载实现的。运算符函数名由关键字operator 和重载得运算符组成。
运算符重载的方法
首先在类定义时说明待重载的运算符,其格式为:
返回值类型 operator op (参数表);
然后象定义函数一样定义重载运算符函数。
返回值类型类名称∷operator op(参数表)
{
//……运算符处理程序代码
}
运算符重载的实质
必要性
C++中预定义的运算符其运算对象只能是基本数据类型,而不适用于用户自定义类型(如类)
实现机制
运算符重载的实质就是函数重载:每个运算符对应各自的运算符函数,根据操作数的不同调用不同的同名函数。
将指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实参。

第7章 运算符重载 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数50
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11