【C++】【学习笔记】【025-027】运算符重载
2014-11-19 09:37
274 查看
重载:
1、重载就是重新赋予新的含义,函数从在是对一个已有的函数赋予新的含义,使之实现新功能;
2、运算符也可以重载,运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算;
3、运算符重载时通过定义函数实现的,运算符重载实质上是函数的重载;
重载运算符的函数格式如下:
函数类型 operator 运算符名称(形参列表)
{
对运算符的重载处理
}
例如,我们可以重载运算符+如下:
int operator+(int a, int b)
{
return (a - b);
}
重载相关规则:
1、C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;
2、下面五个运算符不允许重载:
3、重载不能改变运算符运算对象(操作数)的个数;
4、重载不能改变运算符的优先级别;
5、重载不能改变运算符的结合性;
6、重载运算符的函数不能有默认的参数;
7、重载的运算符必须和用户定义的自定义类型的对象一起使用,其参数至少应该有一个是类对象或者是类对象的引用。也就是说,参数不能全部都是C++的标准类型,这样约定式为了防止用户修改用于标准类型结构的运算符性质;
1、重载就是重新赋予新的含义,函数从在是对一个已有的函数赋予新的含义,使之实现新功能;
2、运算符也可以重载,运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算;
3、运算符重载时通过定义函数实现的,运算符重载实质上是函数的重载;
重载运算符的函数格式如下:
函数类型 operator 运算符名称(形参列表)
{
对运算符的重载处理
}
例如,我们可以重载运算符+如下:
int operator+(int a, int b)
{
return (a - b);
}
重载相关规则:
1、C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;
2、下面五个运算符不允许重载:
. | 成员访问运算符 |
.* | 成员指针访问运算符 |
:: | 域运算符 |
sizeof | 尺寸运算符 |
?: | 条件运算符 |
4、重载不能改变运算符的优先级别;
5、重载不能改变运算符的结合性;
6、重载运算符的函数不能有默认的参数;
7、重载的运算符必须和用户定义的自定义类型的对象一起使用,其参数至少应该有一个是类对象或者是类对象的引用。也就是说,参数不能全部都是C++的标准类型,这样约定式为了防止用户修改用于标准类型结构的运算符性质;
相关文章推荐
- C++学习笔记之运算符重载例子
- 【C++学习笔记】优先级队列以及运算符重载
- 嵌入式开发之C++基础学习笔记5--静态成员,友元,运算符重载,模板,文件流
- c++学习笔记--带有动态空间申请的类成员变量的类的运算符重载
- c++学习笔记 运算符重载
- C++基础学习笔记:运算符重载
- C++学习笔记之运算符重载
- C++学习笔记 lesson5 运算符重载
- C++学习笔记9-运算符重载
- c++学习笔记5:运算符重载、友元和类的类型转换
- C++学习笔记十四-运算符重载
- c++学习笔记(运算符重载)
- C++学习笔记4--静态属性 静态方法 虚方法 抽象方法 多态性 析构函数 运算符重载 多继承 虚继承
- 【菜鸟C++学习笔记】26.运算符重载
- C++学习笔记(运算符重载)
- C++学习笔记(十)运算符重载
- 【C++学习笔记】常见运算符重载
- c++学习笔记--由复数类看运算符重载
- C++学习笔记之运算符重载
- c++学习笔记(三):深拷贝与浅拷贝及等号运算符重载