2 месяца назад
ООП для продолжающих. Как работает таблица виртуальных функций?
Если вы думаете, что будучи способным дать ответы на вопрос о том, что такое инкапсуляция, наследование и полиморфизм (а то и, не ровен час, и перечислить все принципы SOLID), вы в совершенстве овладели пониманием ООП, спешу вас разочаровать - в действительности, это гораздо более глубокая тема, таящая в себе множество подводных камней, которые, кстати говоря, вполне могут встретиться на реальном собеседовании. Из этой статьи вы узнаете о том, что такое таблица виртуальных функций, виртуальный указатель,...
971 читали · 5 лет назад
Простое введение в C++. Часть 2. Конструкторы и деструкторы
В этой статье мы рассмотрим, для чего в C++ нужны конструкторы и деструкторы. Проблема с инициализацией Как только мы начали работать с классами, то есть объединили данные и код в одном месте, то тут же возникает  проблема с инициализацией переменных, то есть  с заданием исходных значений. Например, в языке С мы можем создать переменную и тут же задать ей значение: int x = 5; Эта строка прямого действия — как она написана, так она и выполняется. В C++ так сделать нельзя, потому что объявление класса — это просто описание свойств класса, а выполнение возможно только в экземпляре класса. То есть...