Форум программистов, компьютерный форум CyberForum.ru

Почему конструктор в отличаи от деструктора не может быть виртуальным? - C++

Восстановить пароль Регистрация
 
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
27.02.2013, 19:10     Почему конструктор в отличаи от деструктора не может быть виртуальным? #1
Вопрос озвучен .
Желательно, с разжёваным ответом. Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2013, 19:10     Почему конструктор в отличаи от деструктора не может быть виртуальным?
Посмотрите здесь:

Почему не может быть такой функции? C++
C++ Как такое может быть?
C++ неправильно работает конструктор копирования list, кто-нибудь может объяснить почему?
C++ Не работает конструктор копирования почему-то...
C++ Не может найти конструктор для иниц поля класса
Почему конструктор не работает? C++
Почему не вызывается конструктор копии? C++
C++ Может ли быть такое?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11823 / 6802 / 769
Регистрация: 27.09.2012
Сообщений: 16,870
Записей в блоге: 2
Завершенные тесты: 1
27.02.2013, 19:26     Почему конструктор в отличаи от деструктора не может быть виртуальным? #2
Как Вы себе представляете работу виртуального конструктора? Для чего он может понадобиться? При создании объекта Вы точно указываете какой объект создаете, тогда как при уничтожении объекта, через указатель на базовый класс, не известно что это за объект, поэтому деструктор должен быть виртуальным, для вызова правильного деструктора.
То есть при создании - мы сами указываем какой конструктор какого класса вызывать и никакая виртуальность тут не нужна.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
27.02.2013, 21:33     Почему конструктор в отличаи от деструктора не может быть виртуальным? #3
В довесок, если собирешься гуглить на предмет виртуального конструктора, наткнешься на реализацию такового, например на хабре (как ни странно). Там абракадабру, реализованную с помощью концепции конверт/письмо, называют виртуальным конструктором, абсолютно, блин, беспочвенно. На практике - это лишь конструктор, перегружающий сам себя по значению какого-то аргумента (там - значение enum'а). Но сама техника реализации интересной может показаться)
Yandex
Объявления
27.02.2013, 21:33     Почему конструктор в отличаи от деструктора не может быть виртуальным?
Ответ Создать тему
Опции темы

Текущее время: 09:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru