Дайте определение конструктора. Каково назначение конструктора? Перечислите отличия конструктора от метода.

Конструктор — это специальная функция, которая инициализирует экземпляр класса. Конструктор выделяется среди всех прочих функций данного класса тем, что имеет такое же имя, как и сам класс. Конструктор не наследуется и не возвращает значение Сколько конструкторов может быть в классе? Объясните разницу между конструктором копирования и оператором присваивания. Конструктор копий …

Continue Reading →

Какие операторы нельзя перегружать? Как вы думаете, почему?

Перегружать можно следующие операторы: + — * / % ^ & | ~ ! = < > += -= *= /= %= ^= &= |= << >> >>= <<= == != <= >= && || ++ — ->* , -> [] () new new[] delete delete[] А нельзя :      …

Continue Reading →

Сколько места в памяти занимает объект класса? Как это узнать?

Факторы, влияющие на размер объекта:   Нестатические поля,   Выравнивание,   Наличие виртуальных методов (+размер указателя на таблицу виртуальных методов),   Количество виртуально пронаследованных классов в иерархии наследования (+размер указателя на таблицу виртуальных методов каждого такого класса); Размер объекта можна узнать, при помощи оператора  sizeof(): B b; printf(«bb object size …

Continue Reading →