为什么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;
}
结果都一样啊。。。。。运算符重载有用吗?? 展开
#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;
}
结果都一样啊。。。。。运算符重载有用吗?? 展开
4个回答
展开全部
运算符重载在运行结果上没有什么差别
主要是对于类库的使用者方便,比较类的对象支持加法运算,如果写成函数,看起来就不如用一个+看起来舒服
主要是对于类库的使用者方便,比较类的对象支持加法运算,如果写成函数,看起来就不如用一个+看起来舒服
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同类型的行为。运算符重载为类的用户提供了更直观的接口,使类类型的对象也可以像普通变量一样进行运算符的表达式运算。运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
绝对是个好东西,只不过你还没到这个级别而已 泛型编程里没这个东西要郁闷死的
用AS3的时候都只好自己来做规范 什么函数是加法 什么函数是减法,
还要写一堆的辅助函数来规范这个标准
用AS3的时候都只好自己来做规范 什么函数是加法 什么函数是减法,
还要写一堆的辅助函数来规范这个标准
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询