一、设计原因:让自定义数据类型有机会进行运算符操作
二、本质:运算符重载的本质是函数调用
三、重载方法:

例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为传入参数)
本文深入探讨了运算符重载的设计原因与本质,通过两个实例详细解析了如何使用全局函数和类成员函数来完成运算符的重载,帮助读者理解这一C++特性。
2569

被折叠的 条评论
为什么被折叠?



