Функции конструктора

Конструктор выполняет различные задачи, которые не видны пользователю " разработчик приложений ", даже если не написан код для конструктора. Эти задачи все связанные с конструированием полный и правильный экземпляра типа класса.

В microsoft C++ (C++) и некоторых других реализациях конструктор:

  • Инициализирует указатели объекта фактически базовые (vbptr). Этот шаг выполняется, если класс является производным из виртуальных базовых классов.

  • Базовый класс и вызывает конструкторы члена в порядке объявления.

  • Инициализирует указатели виртуальной функции объекта (vfptr). Этот шаг выполняется, если класс имеет виртуальные функции или наследует. Укажите указателей виртуальной функции в таблице виртуальных функций (v-таблице) и обеспечивает правильную привязку вызовов виртуальных функций в код.

  • Выполняет дополнительный код в теле функции конструктора.

Если конструктор завершен, выделенная память объект заданного типа класса. Из-за шагов конструктор выполняет "позднее связывание" в форме виртуальных функций можно разрешить с точки зрения вызова виртуальной функции. Конструктор также строил базовые классы и строил структурированных объектов (объекты, участвующие в качестве элементов данных). Позднее связывание механизм, с помощью которого полиморфизма C++ реализует расширение функциональности для объектов.

См. также

Ссылки

Конструкторы (C++)