![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.12.2012
Сообщений: 17
|
![]()
Познакомившись с понятием таблиц виртуальных функций, не могу понять следующую простую вещь. Пусть имеем следующий примитивный код:
Код:
Код:
Но откуда указателю pb удается вызвать Код:
Последний раз редактировалось I_I_I; 30.07.2013 в 08:46. |
![]() |
![]() |
![]() |
#2 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
<убрал ошибочные данные>
A: ![]() типа такой: Код:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 30.07.2013 в 08:52. |
![]() |
![]() |
![]() |
#3 | |||
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
![]() Цитата:
Цитата:
Цитата:
Благодарить в репутацию. Проклинать — туда же
![]() Последний раз редактировалось Luuzuk; 30.07.2013 в 08:47. |
|||
![]() |
![]() |
![]() |
#4 | |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]() Цитата:
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
Потому, что производный класс "работает как" базовый. Отсюда, Вы,через указатель на производный класс вызываете виртуальный метод print() из области видимости класса A.
Последний раз редактировалось Igor95; 30.07.2013 в 10:56. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]()
В данном случае получим две таблицы виртуальных функций:
A 0 A: ![]() и B 0 B: ![]() Последний раз редактировалось Igor95; 30.07.2013 в 10:36. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
pb->A:
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]() |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
![]() Код:
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по функциям | miragex | Общие вопросы C/C++ | 5 | 06.01.2013 00:13 |
C++ Вопрос по виртуальным методам | Selestis | Помощь студентам | 5 | 09.09.2011 18:18 |
вопрос по функциям . | Goratics | Общие вопросы C/C++ | 5 | 17.07.2011 12:42 |
Вопрос по функциям | Antowka | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 08.12.2008 22:45 |
глупый вопрос по функциям | steck | Общие вопросы Delphi | 2 | 17.06.2007 15:40 |