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

Как вызвать виртуальную функцию из дочернего класса, если она определена и вызывается в конструкторе РОДИТЕЛЬСКОГО класса? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать массив из индексов http://www.cyberforum.ru/cpp-beginners/thread311227.html
Дан числовой массив A. Сформировать массив B, элементы которого равны индексам отрицательных элементов массива A.
C++ Функция для вызова нового окна. Здравствуйте. Есть программа на C++ написана в консольном варианте. Мне нужно привязать это консольное окно к кнопке - то есть , я создаю Windows Form - рисую кнопки и нужна функция которая будет... http://www.cyberforum.ru/cpp-beginners/thread311221.html
извлечение флешки C++
господа,а как можно програмно сделать безопасное извлечение флешки?
C++ Копирование данных из файла в файл
Здравствуйте! Нужно организовать копирование данных из одного файла в другой в бинарном режиме. При выполнении программы в выходной файл вместо нужного текста копируются неизвестные символы. В чём...
C++ Структура и работа с файлом http://www.cyberforum.ru/cpp-beginners/thread311199.html
Здравствуйте! Посмотрите в чем моя ошибка, пожалуйста Дан файл f, содержащий сведения о книгах. Сведения о каждой из книг-это фамилия автора,название и год издания. Найти название книг данного...
C++ MySQL Для диплома! нужна красивая теория языком программиста Почему MySQL лучше остальных программ? подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17944 / 6175 / 411
Регистрация: 30.03.2009
Сообщений: 16,952
Записей в блоге: 27
03.06.2011, 15:18
Цитата Сообщение от tapka Посмотреть сообщение
немного пораздумав, прихожу к выводу, что возможности обратиться к методу производного класса быть не может. как и в принципе вызова переопределенной виртуальной функции из конструктора.
в момент, когда конструктор базового класса вызывает функцию f(), объект производного класса еще не создан и, соответственно, его метод вызван быть не может.
Я не специалист по Си++, но мне тоже кажется, что так оно и есть. Конструктор вызывается для инициализации собственных полей, а потому конструктор может вызывать только методы, определённые в данном классе (или у родителей). Логично, что работать с виртуальными методами можно только после того, как объект уже создан, а в процессе работы конструктора объект как бы ещё не до конца создан
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru