运算符重载
来源:互联网 发布:女毒耳机知乎 编辑:程序博客网 时间:2024/06/05 16:08
运算符重载就是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据时导致不同的行为。
实质: 函数重载。在实现过程中,首先把制定的运算表达式转化为对运算符函数的调用,将运算对象转化为运算符函数的实参,然后根据是惨的类型来确定需要调用的函数,这个过程是在编译过程中完成的。
运算符重载的形式有两种,即重载为类的非静态成员函数和重载为非成员函数。
运算符重载为类的成员函数的一般语法形式为:
返回类型 operator 运算符(形参表)
{
函数体
}
运算符重载为非成员函数的一般语法形式为:
返回类型 operator 运算符(形参表)
{
函数体
}
返回类型指定了重载运算符的返回值类型 ,也就是运算结果类型;
operator 是定义运算符重载函数的关键字;
运算符即是要重载的运算符名称
形参表中给出重载运算符所需要的参数和类型
提示:
当以非成员函数形式重载运算符时,有事需要访问运算符参数所涉及类的私有成员,这时可以把该函数声明为类的友元函数。
当运算符重载为类的成员函数,函数参数的个数比原来的操作个数要少一个(后置“++”,“–”除外);当重载为非成员函数时,参数个数与原操作个数相同。
原因是 ,重载为类的成员函数时,第一个操作数会被作为函数调用的目的对象,一次无须出现在参数表中,函数体可以直接访问第一个操作数的成员;而重载为非成员函数时,运算符的所有操作数必须显示通过参数传递。
0 0
- 运算符重载 [++,--,+,<<; &&,||(不可重载)]
- 重载之运算符重载
- 重载赋值运算符
- C++运算符重载
- 运算符重载
- 运算符重载总结
- 运算符重载例子
- 运算符重载
- 运算符重载
- 基础:运算符重载
- 运算符重载
- 运算符重载
- 重载赋值运算符
- C#运算符重载
- C++-运算符重载
- 重载赋值运算符
- 运算符重载
- 有关运算符重载
- Data Science from Scratch 之 MapReduce
- 2016-5-9oracle测试面试
- iOS面试题集锦2
- VLC-流媒体开源库
- 手机开发实战1-手机简介
- 运算符重载
- <c:forEach varStatus="status">中 varStatus的属性简介
- 硬件细节
- C语言-函数、数组、指针
- android 流媒体开源库
- 共同学习Java源代码--数据结构--AbstractList抽象类(六)
- 善用cPanel熟知空间流量去向
- Spring IOC容器-自动装配
- iOS 开发 带区号的城市三级联动(xml解析)