Is there a way I can call an operator overload in C++ and call the parameter’s function during the comparison?
For example:
class MyClass{
private:
int x;
int y;
public:
MyClass(int x, int y);
int getX();
int getY();
bool operator < (const MyClass &other) const {
return (x < other.getX()); //this does not work!
// this would work, though, if x was public:
// return x < other.x;
}
};
Basically, where I call other.getX(), how can I make it return its own x-value through a function to compare to the local one, instead of having to make x public? Is there a way of doing that?
Thanks for all your help!
You can declare the operator as a friend of the class.
Edit: I seem to have tomatoes on my eyes, your operator is class member and already has private access. You could friend it however it was defined outside of class scope.