I've heard it is used as overloaded operator+ for example
class MyClass
{
int x;
public:
MyClass(int num):x(num){}
MyClass operator+(const MyClass &rhs)
{
return rhs.x + x;
}
};
int main()
{
MyClass x(100);
MyClass y(100);
MyClass z = x + y;
}
Is this really the use of unary plus operator or is it really a binary + operator?
This is not overloading and using unary + .. You need to either make that a free function or make the member function take 0 arguments
class MyClass
{
int x;
public:
MyClass(int num):x(num){}
MyClass operator+() const
{
return *this;
}
};
int main() {
MyClass x = 42;
+ x;
}
That's a binary + operator. To overload the unary plus operator, you'd need something like this.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With