下载此文档

c++课件 第八章 运算符重载.ppt


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
第八章第八章运算符重载运算符重载 远算符重载基本概念远算符重载基本概念 重载实现及重载重载实现及重载>> >> 与与<< << 一、二元运算符重载与一、二元运算符重载与 Array Array 类类 类型之间的转换类型之间的转换 实例研究实例研究: : String String 类、类、 Date Date 类及重载类及重载++ ++ 与与-- -- : 引入: C++ 允许重新定义已有的运算符,使其按用户的要求完成一些特定的操作,这就是运算符重载。运算符重载与函数重载相似,其目的是设置某一运算符,让它具有另一种功能,尽管此运算符在原先 C++ 语言中代表另一种含义,但他们彼此之间并不冲突。 C++ 会根据运算符的位置辨别应使用哪一种功能进行运算。运算符重载是对已有的运算符赋予多重含义,故同一个运算符作用于不同类型的数据导致不同类型的行为。实现: 实现: 运算符重载是通过编写函数定义实现的; 运算符重载是通过编写函数定义实现的; 函数定义包括:函数首部函数定义包括:函数首部+ +函数体;函数首部中的函数函数体;函数首部中的函数名名= =关键字关键字 operator + operator + 要重载的远算符符号; 要重载的远算符符号; 如:函数名如:函数名 operator+ operator+ 重载了重载了+ +; ; 注意: 注意: 用于类对象的运算符必须重载,除了赋值运算符用于类对象的运算符必须重载,除了赋值运算符(=) (=) 和和地址运算符地址运算符(&); (&); IF IF 不重载不重载= =; ; = = 的默认行为是复制类的数据成员的默认行为是复制类的数据成员; ; BUT BUT , ,此行为不利于指针成员此行为不利于指针成员?? OFTEN OFTEN , , WE NEED WE NEED 显示显示重载重载= =; ; IF NO OVERLOAD &, & IF NO OVERLOAD &, & 返回对象在内存中的地址; 返回对象在内存中的地址; ALSO, i ALSO, i t can be overloaded. can be overloaded. We need to write We need to write 运算符重载函数运算符重载函数 for special operation . for special operation . Frequently, there are two types Frequently, there are two types : : class member functions and class member functions and class friend functions. class friend functions. Forms Forms : : <return type> operator < <return type> operator < 运算符运算符> >( ( <parameter lists> <parameter lists> ) ) { {……; ; } } friend <return type> operator < friend <return type> operator < 运算符运算符> >( ( <parameter lists> <parameter lists> ) ) { {……; ; } } Under rare condition Under rare condition , , these functions may be not member these functions may be not member functions and not friend functions. functions and not friend functions. 规则: 规则: ( (1 1)、运算符重载是针对新类型的实际需要,对原有运)、运算符重载是针对新类型的实际需要,对原有运算符进行适当的改造;一般来讲,重载的功能应算符进行适当的改造;一般来讲,重载的功能应当与原有功能相类似,不能改变原运算符的操作当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义对象个数,同时至少要有一个操作对象是自定义类型。类型。( (2 2)、)、 C++ C++ 中的运算符除了少数几个以外,全部可以重中的运算符除了少数几个以外,全部可以重载,而且只能重载已有的这些运算符,祥见载,而且只能重载已有的这些运算符,

c++课件 第八章 运算符重载 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dsmhb
  • 文件大小570 KB
  • 时间2017-05-18