`
- 浏览:
39400 次
- 性别:
- 来自:
广州
-
作者:gzshun. 原创作品,转载请标明出处!
来源:http://blog.csdn.net/gzshun
运算符重载就是赋予已有的运算符多重含义。C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,从而增强了C++的扩充能力。
一、运算符重载的特点
在实现运算符重载的方法有2种:
1.用类的成员函数来实现;
2.通过类的友元函数来实现。
一个很重要的特点:
1.用类的成员函数来实现
成员函数的形参个数 = 几目运算符 - 1
假设重载运算符=,+,或+=,这些运算符是双目运算符,所以类的成员函数的形参必须为1.
2.通过类的幽怨函数来实现
友元函数的形参个数 = 几目运算符
假设重载运算符=,+,或+=,这些运算符是双目运算符,所以友元函数的形参必须为2.
二、C++不允许重载的运算符
不是所有的运算符都可以重载。在C++中不允许重载的运算符有:三目运算符"?:",成员操作符"."、成员指针操作符"*"、作用域操作符"::"以及sizeof运算符。
三、运算符重载的基本用法-例子(+, -, +=)
执行结果:
调用CComplex::operator+(CComplex &c)函数
24 + 26i
调用CComplex::operator+(double r)函数
17 + 12i
调用friend CComplex operator+(double r, CComplex &c)函数
21 + 14i
调用friend CComplex operator-(CComplex &c)函数
-11 + -12i
调用friend CComplex operator-(CComplex &c, double r)函数
5 + 12i
调用CComplex operator-(CComplex &c)函数
2 + 2i
调用void operator+=(CComplex &c)函数
24 + 26i
四、自增与自减的重载
执行结果:
调用CCounter operator++()函数 前缀自增
调用CCounter operator++()函数 前缀自增
mCounter = 2
调用CCounter operator++(int)函数 后缀自增
调用CCounter operator++(int)函数 后缀自增
mCounter = 2
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
主要是C++中,运算符重载的编写的实验,环境VS2010,内容很基本,与类相关
C++实验11--运算符重载.html
面向对象程序设计语言C++---第5章-运算符重载.ppt
C++ 运算符重载 关于++ --运算符的重载
实验七 运算符重载 一、实验目的 (1).编写程序熟悉运算符重载函数的定义和使用; (2).编写程序熟悉重载单目和双目运算符的方法; (3).编写程序熟悉流插入和提取运算符的重载; 二、实验要求 1、创建一个二维...
c++程序设计语言 ------------- 6-运算符重载.ppt
自己很久前写的运算符重载小例子,实现了个别操作
c++特殊运算符重载---流运算符重载(csdn)————程序
C++单目运算符重载 单目运算符只有一个操作数,如!a,-b,&c,*p,还有最常用的++i和–i等。重载单目运算符的方法与重载双目运算符的方法是类似的。但由于单目运算符只有一个操作数,因此运算符重载函数只有一个参数...
掌握运算符重载的方法。定义Point类,有坐标_x,y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。
对point类重载++和--运算符.................................................................................
C++运算符重载 C++语言提供了运算符重载机制,允许程序员对已有的运算符赋予新的含义,使其应用于用户自定义的类。运算符重载是对已有的运算符赋予多重含义,同时保持其原有的优先级和结合性。 什么是运算符重载?...
c++中,有一种集合类运算符重载的算法,该示例程序中提供了很多的重载类型。
C++程序设计实验——运算符重载,涉及单目、双目运算符的重载
这个是使用C++是实现的矩阵基本运算,使用了运算符重载技术和动态生成数组技术!
C++ 函数重载 运算符重载 类型转化 符合课本 自己写的 绝对运行 有用
用C++编写的运算符的重载程序,实现复数的加减乘除
详细介绍 C++运算符重载 的PPT 文中部分内容: 下标运算符“[ ]”重载 C++把下标运算符[ ]看成一个双目运算符,其操作数为<基本表达式>和<表达式>,对应的运算符为operator[ ],必须重载为一个成员函数。对于下标...
C++虚函数、虚基类、C++实例、运算符重载
设计人民币类,数据成员包含正负标志位、元、角、分 ,设计构造函数、重载`+`、`-`、**前置自增**、**后置自增**、**前置自减**、**后置自减**、输出流插入运算符`、输入流提取运算符`>>` . 其中**前置自减**、**...