为什么C++要用到运算符重载?我好想觉得有点多余。。。求高手!!

看个例子,用到运算符重载的#include<iostream>usingnamespacestd;classA{public:intx;A(intx){this->x=x... 看个例子,用到运算符重载的

#include <iostream>
using namespace std;

class A
{
public:
int x;

A(int x)
{
this->x = x;
}

A operator+ (A a)
{
return A(a.x + this->x);
}
};

int main()
{
A a1(2), a2(2);
A a3 = a1 + a2;
cout << a3.x <<endl;
system("pause");
return 0;
}

没用到运算符重载的
#include <iostream>
using namespace std;

class A
{
public:
int x;

A(int x)
{
this->x = x;
}

};

int main()
{
A a1(2), a2(2);
A a3(a1.x + a2.x);
cout << a3.x <<endl;
system("pause");
return 0;
}

结果都一样啊。。。。。运算符重载有用吗??
展开
 我来答
书尚香GYGYZHY
2013-07-21
知道答主
回答量:6
采纳率:0%
帮助的人:2.9万
展开全部
重载其实还是比较重要的,这里的例子因为A类中的数据成员为int类型,而“+”运算符本来就可以进行整型等类型的计算。你可以尝试定义一个复数类,然后你就可以重载“+”、“-”等的预算符;例如:定义复数类complex,声明两个复数类变量a、b和c,如果你重载了“+”运算符,你就可以使用表达式c=a+b;如果你的程序有大量的关于复数类的运算,那么你重载运算符以后就方便多了。
xzhw8608
2013-07-21 · TA获得超过1779个赞
知道小有建树答主
回答量:1074
采纳率:100%
帮助的人:576万
展开全部
运算符重载在运行结果上没有什么差别
主要是对于类库的使用者方便,比较类的对象支持加法运算,如果写成函数,看起来就不如用一个+看起来舒服
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
掬一捧月
2013-07-21
知道答主
回答量:6
采纳率:0%
帮助的人:8675
展开全部
运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同类型的行为。运算符重载为类的用户提供了更直观的接口,使类类型的对象也可以像普通变量一样进行运算符的表达式运算。运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Hiei1234
2013-07-21 · TA获得超过157个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:126万
展开全部
绝对是个好东西,只不过你还没到这个级别而已 泛型编程里没这个东西要郁闷死的
用AS3的时候都只好自己来做规范 什么函数是加法 什么函数是减法,
还要写一堆的辅助函数来规范这个标准
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式