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