![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Vyacheslav |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Я имел в виду следущее
-------------------- С уважением, Вячеслав Ермолаев |
||||||
|
|||||||
| Конструктор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 641 Регистрация: 12.5.2004 Где: Москва Репутация: нет Всего: 10 |
ИМХО какой-то изврат, который все же работает как и должен, т.е. пытается вызывать чисто-виртульную ф-цию. |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
Morel
ВЕСЬ Приведенный тобой код работает в VC6. А кстати, можно ли вызывать виртуальные функции из конструктора? Это сообщение отредактировал(а) Borisff2003 - 25.8.2004, 13:21 --------------------
Лень, двигатель прогресса |
|||
|
||||
| 3,14 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: нет Всего: 24 |
А после компиляции gcc при запуске ошибку кидает
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Виртуальные функции вызывать из конструктора можно. Только нужно учитывать определенные особенности при вызове. Формально при вызове из конструктора она ведет себя как невиртуальная
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
Что мы и имеем Это сообщение отредактировал(а) Borisff2003 - 26.8.2004, 05:22 --------------------
Лень, двигатель прогресса |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Кстати на заметку. В С++Builder VCL-ные классы(т.е. те которые являются производными от TObject) ведут себя иначе, нарушая стандарт. При вызове виртуальной функции в конструкторе, она вызывается именно как виртуальная. В результата в принципе возможно переопределять тело базового конструктора
Причем эта особенность имеется толькло у VCL-классов. Для обычных все работает по стандарту -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Morel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 14.10.2003 Репутация: 1 Всего: 1 |
Всем спасибо вроде разобрался.
Отдельное спасибо за Pshaiba::Pshaiba(int i):Device(i). |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |