Я пытался перегрузить оператор присваивания вне класса, используя класс друга, но независимо от того, что я делаю, он не работает. (да, я знаю, что условием является перегрузка оператора внутри класса). Вот пример того, что я делал, чтобы заставить его работать:
class Person{
public:
Person(string n){
name = n;
}
friend class assignment;
name = "Joe";
}
}
class assignment{
public:
Person operator&(Person &rhs){
Person test;
test.name = rhs.name;
return test; //return *this doesn't work
}
}
Независимо от того, что я делаю, оператор присваивания не запускается / не возвращается в main:
Person one("Joe")
person two("Martin");
person three("Anna")
two = three;
std::cout<<two.name; //does not equal the member variable of three;