c++重载运算符只能重载类的运算吗? 不可以随意重载定义运算符吗? 可以的话给个例子。
2个回答
展开全部
类或者结构都是可以的。允许重载的运算符你就可以重载啊。随意重载不是说不可以,是不好,重载了有意义才对编程有帮助不是!如:
bool vector<_T, _A>::operator== (const vector<_T,_A>& __x,
const vector<_T,_A>& __y)
{
return __x.size() == __y.size()
&& equal(__x.begin(), __x.end(), __y.begin());
}
bool vector<_T, _A>::operator== (const vector<_T,_A>& __x,
const vector<_T,_A>& __y)
{
return __x.size() == __y.size()
&& equal(__x.begin(), __x.end(), __y.begin());
}
追问
变量和变量是不是不行?
追答
只可能是类型啊,重载运算符类似于一个函数,只接受形参,不可能接受变量,调用的时候变量作为实参才参与运算。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询