我是C ++编程的新手,我想返回默认在运算符重载中传递的对象。请帮助我......
例如
adi operator+(adi& s2){return s1;}
main()
{
s3=s1+s2;
}
答案 0 :(得分:0)
您要么将operator +实现为类成员
class A {
A operator+(const A& rhs) const {
A result; // do something with a
// Pick one
return result; // returns new object
return rhs; // returns rhs parameter
return *this; // returns current object
}
};
或作为非会员
A operator+(const A& a, const A& b) {
A result; // do something with a
return result; // returns new object
}
答案 1 :(得分:0)
它将采用以下方式
adi operator+( const adi &s2) const
{
adi temp;
/* some calculations with temp*/
return temp;
}
语义如下:您创建一个新对象,该对象将调用运算符this
的对象和作为参数传递给运算符的对象的总和。原始物体和文物都不应该改变。
此外,操作员可以定义为非成员函数。例如
adi operator+( const adi &s1, const adi &s2)
{
adi temp;
/* some calculations with temp*/
return temp;
}