请问c++中的操作符重载有什么意义??

来源:百度知道 编辑:UC知道 时间:2024/05/25 22:42:33
操作符怎么重载是看懂了,但是对于操作符重载有什么意义不是很理解。
函数的重载可以应对不同类型参数的情况,操作符的重载有什么意义呢?或者说实际意义。

比如:
数组
a[5]={1,2,3,4,5};
b[5]={6,7,8,9,10};
c[5];

重载 + 后可以直接进行(不重载显然不行)
c = a+b;
结果是:
c[5]={7,9,11,13,15};

还有很多例子!

在类的非静态成员函数中返回对象的本身时候,直接用return *this(常用于操作符重载和赋值、拷贝等函数)
CImgPoint& CImgPoint::operator=(const CImgPoint& srcPoint)
{
if(this==&srcPoint)
return *this;
x = srcPoint.x;
y = srcPoint.y;
return *this;
}

比如说你定义一个Point类,Point产生的对象有x和y两个坐标值,
你想完成以下的工作
Point a(1,2),b(3,4),c;
c=a+b;
因为a和b都是对象,没有+运算,这个时候就需要重载+运算符来求解两个对象的相加了。
就是这么个意思。