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!
other.getX()andother.xare valid (butgetX()needs to be marked asconst).x < other.xa class is automatically a friend of itself. So you have full access to members of other instances of the same class.