Задачка №2, проверяем знания, не используем компилятор... |
Здравствуйте, гость ( Вход | Регистрация )
Задачка №2, проверяем знания, не используем компилятор... |
ViGOur |
9.4.2008, 13:51
Сообщение
#1
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Не пользуемся компилятором!
Какой результт будет? Сразу скажу не спешите, хорошенько подумайте, не все так явно как кажется.
|
|
|
archimed7592 |
9.4.2008, 14:40
Сообщение
#2
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
15 будет, ибо default value выбирается статически(5 для A::foo), а конкретная реализация динамически(x * 3 для B::foo) .
Где-то, то ли в рекомендациях Саттера-Александреску, то ли у Мейрса, то ли вовсе в Boost library development guide упоминается о том, что ни в коем случае нельзя изменять дефолтное значение аргумента у виртаульной ф-ции из-за таких вот косяков. Кажись в советах Мейрса... |
|
|
Текстовая версия | Сейчас: 18.1.2025, 12:57 |