В этой статье мы рассмотрим, для чего в C++ нужны конструкторы и деструкторы. Проблема с инициализацией Как только мы начали работать с классами, то есть объединили данные и код в одном месте, то тут же возникает проблема с инициализацией переменных, то есть с заданием исходных значений. Например, в языке С мы можем создать переменную и тут же задать ей значение: int x = 5; Эта строка прямого действия — как она написана, так она и выполняется. В C++ так сделать нельзя, потому что объявление класса — это просто описание свойств класса, а выполнение возможно только в экземпляре класса. То есть...
(часто спрашивают на собеседованиях) Этот магический метод позволяет определить поведение экземпляра пользовательского типа при готовности интерпретатора уничтожить его. Многие думают, что del x вызывает метод x.__del__. Это неправда. Python использует механизм подсчета ссылок, и del x – лишь один из способов уменьшить количество ссылок на 1. 📎 Примеры. Определим такой класс, где будем следить за вызовом его метода __del__: class Bazooka: def __del__(self): print('Bazooka.__del__()') >>>...