一、设计原因:让自定义数据类型有机会进行运算符操作
二、本质:运算符重载的本质是函数调用
三、重载方法:
例1、通过全局函数方法完成+操作符重载
Complex operator+(Complex &c1,Complex &c2)//函数声明
{
…
}
int main()//函数调用分析
{
Complex c1(1,2),c2(3,4);
Complex c3=c1+c2;//相当于调用函数Complex c3=operator(c1,c2);
}
例2、通过类成员函数方法完成-操作符重载
Complex operator-(Complex &c2)//函数声明
{
…
}
//函数调用分析
//用类成员函数实现-运算符重载
Complex c4=c1-c2;//相当于从c1.operator-(c2);(c1为Complex类私有变量,c2为传入参数)