Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++. Конструкторы копий наследуются?

Александр Дмитриев Мастер (1703), на голосовании 14 лет назад
Если и базовый, и производный классы имеют конструкторы копий, то будут ли, например, при передаче параметра, последовательные запуски конструкторов базового, затем производного класса?
Голосование за лучший ответ
Александр Светлаков Ученик (118) 15 лет назад
будут, если указать ключевое слово virtual
Dark Demon Night Hunter Мастер (1284) 15 лет назад
Все конструкторы как и деструкторы наследуются потомками. При этом неважно, виртуальные они или нет (виртуальный конструктор - это вообще изобретение борланда, не совместимое со стандартом ANSI C). Конструкторы будут вызываться в порядке от родителя к потомку. Деструкторы соответственно в обратном порядке. Виртуальный деструктор дает преимущество того, что в этом случае не требуется приведение к определенному типу потомка (если их много).
Александр ДмитриевМастер (1703) 15 лет назад
Я имел в виду конструкторы КОПИЙ.
Dark Demon Night Hunter Мастер (1284) Если ты переопределишь конструктор копий - то будет так как я написал. Если конструктор копий дефалтовый - то это в любом случае эквивалент memcpy.
Похожие вопросы