в С++ я знаю, что есть два способа перегрузки, мы можем перегрузить его внутри (например, класс a) или снаружи (например, класс b). но вопрос в том, есть ли какая-либо разница между этими двумя во время компиляции или времени выполнения или нет?
class a
{
public:
int x;
a operator +(a p) // operator is overloaded inside class
{
a temp;
temp.x = x;
temp.x = p.x;
return temp;
}
};
class b
{
public:
friend b operator +(b,b);
int x;
};
b operator+(b p1,b p2) // operator is overloaded outside class
{
p1.x +=p2.x;
return p1;
}