We actually need two operator* functions, one for each order of the two operands of *:
class Pair
{
int x;
int y;
public:
Pair();
Pair(int x, int y);
int getX() const;
int getY() const;
string toString() const;
Pair operator+(const Pair& b) const;
friend Pair operator*(int a, const Pair& p);
friend Pair operator*(const Pair& p, int a);
friend ostream& operator<<(ostream& os, const Pair& pr);
};