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