C++ 封装之运算符重载
一、什么叫运算符重载?
对运算符(例如+、-、*、/)赋予新的运算方式。
二、目的,及产生原因?
使对象的运算操作更加简洁明了;
C++语言预定义的运算符只能操作基础数据类型,对于用户自定义的类型,在进行运算时也需要类似的操作。
三、规则
1.哪些运算符不可以重载?
. :成员访问运算符
.* 、-> :成员指针访问运算符
:: :域运算符
sizeof :长度运算符
?: :条件运算符
# :预处理符号
2.重载运算符可以对运算符号做出新的解释,但基本语义不变
①无法改变运算符优先级
②无法改变运算符结构性
③无法改变运算符所需要的操作数
④无法创建新的运算符
3.使用方法
①类的成员函数
<函数返回值>operator <运算符>(<形参列表>)
{
<函数体>
};
②类的友元函数
friend <函数返回值>operator <运算符>(<形参列表>)
{
<函数体>
};
4.示例代码