
c++中运算符重载到底有什么好处,可以举例说明吗?
2个回答
展开全部
就我的理解
那些运算符本身功能是有限的
比如不能进行复数的加减
但是我们重载以后
就可以让它实数与实数相加,虚数与虚数相加,最后结果也是复数
还有字符串string里也有很多重载的地方,像两个字符串也可以相加,等等
重载的主要目的是,简洁易懂,原理上其实也是通过函数实现的,像a + b用add(a,b) 也行,但是看起来要就没那么直观了。
那些运算符本身功能是有限的
比如不能进行复数的加减
但是我们重载以后
就可以让它实数与实数相加,虚数与虚数相加,最后结果也是复数
还有字符串string里也有很多重载的地方,像两个字符串也可以相加,等等
重载的主要目的是,简洁易懂,原理上其实也是通过函数实现的,像a + b用add(a,b) 也行,但是看起来要就没那么直观了。

2024-04-12 广告
**ODU重载连接器**ODU重载连接器是一种高性能、高密度的连接解决方案,广泛应用于各种工业自动化和通信设备中。它采用先进的设计理念和制造技术,具有优异的电气性能和机械强度,能够满足复杂环境下对数据传输和信号稳定的高要求。同时,ODU重载...
点击进入详情页
本回答由上海莘默提供
展开全部
举例:
class Point
{
public:
friend const Point operate+(const Point& p1, const Point& p2);
int x, y;
}
const Point operate+(const Point& p1, const Point& p2)
{
Point p;
p.x = p1.x + p2.x;
p.y = p1.y + p1.y;
return p;
}
void main()
{
Point p, p1, p2;
p = p1+p2;
}
明白了吗?如果没有操作符重载,你是不能做p = p1+p2;这个操作的。操作符重载使你可以自己定制操作符的运算方式
class Point
{
public:
friend const Point operate+(const Point& p1, const Point& p2);
int x, y;
}
const Point operate+(const Point& p1, const Point& p2)
{
Point p;
p.x = p1.x + p2.x;
p.y = p1.y + p1.y;
return p;
}
void main()
{
Point p, p1, p2;
p = p1+p2;
}
明白了吗?如果没有操作符重载,你是不能做p = p1+p2;这个操作的。操作符重载使你可以自己定制操作符的运算方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询