Задачка в общем и не задачка, особенности работы с классами... |
Здравствуйте, гость ( Вход | Регистрация )
Задачка в общем и не задачка, особенности работы с классами... |
ViGOur |
10.2.2009, 17:48
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Мы же все не глупые, так что получаем ответ не используя компилятор!
И для тренировки мозга, каков будет результат, если func сделать виртуальной функцией? То что ниже этой темы читаем после того, как ответили на задачку... |
|
|
Влад |
24.8.2009, 9:38
Сообщение
#2
|
Участник Группа: Участник Сообщений: 146 Регистрация: 20.3.2009 Из: Санкт-Петербург Пользователь №: 627 Спасибо сказали: 46 раз(а) Репутация: 8 |
1. c(); По правилу поиска имен, будет найдена функция A::operator()(). При ее выполнении, будет произведен вызов A::func(), поскольку func() - невиртуальная и связывание произойдет еще на этапе компиляции.
2. c.func(); А вот при этом вызове будет напрямую вызвана функция C::func(), разумеется. Поэтому вывод будет: Цитата class A
class C |
|
|
Текстовая версия | Сейчас: 26.11.2024, 7:24 |