Я немного новичок в C++ и до сих пор занимался программированием на Obj-C и Java.
Скажем, у меня есть класс:
class Person {
private:
Wife *current_wife;
//.....
};
Так вот, мне нужно реализовать метод setter для изменения переменной экземпляра Wife.
Вот так:
Person::SetCurrentWife (Wife *new_wife) {
current_wife = new_wife;
}
Это будет мелкая копия.
Итак, где-то из главного цикла или чего-то подобного я вызываю:
Person *some_person = new Person();
...
Wife *wife = new Wife ();
some_person->SetCurrentWife(wife);
Так что я в замешательстве: будет ли здесь утечка памяти? Должен ли я удалить объект жены здесь или в деструкторе Person? В Obj-C я бы освободил текущую жену, а затем послал бы сообщение retain объекту wife выше, но как правильно делать методы сеттера в C++?