Пусть у меня есть класс Inner
внутри другого класса Outer
:Удалить экземпляр внутреннего класса в экземпляре внешнего класса
class Inner
{
public:
Inner();
~Inner();
};
class Outer
{
public:
Outer();
~Outer();
private:
Inner in;
};
Сейчас говорит в основном Заявляет объект типа Outer:
int main()
{
Outer out;
return 0;
}
Объект out
имеет экземпляр in
в качестве участника. Если я вызову деструктор out
, он в свою очередь вызовет деструктор in
? Если нет, как я могу реализовать деструктор для класса Outer
, чтобы успешно вызвать деструктор класса Inner
?
Например, если у меня есть приложение пользователей, и у каждого пользователя есть профиль, как я могу сделать это, когда учетная запись пользователя будет удалена, так же как и профиль пользователя?
Будет вызываться деструктор для 'in'. Он не будет вызываться, если 'in' был' inner * 'и был объявлен с использованием' new'. –