Здравствуйте, гость ( Вход | Регистрация )
|
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 упоминается о том, что ни в коем случае нельзя изменять дефолтное значение аргумента у виртаульной ф-ции из-за таких вот косяков. Кажись в советах Мейрса... |
|
|
|
ViGOur Задачка №2 9.4.2008, 13:51
Litkevich Yuriy опять скомпилил, щас точно крышу сорвет 9.4.2008, 14:00
ViGOur поэтому я и говорю, что не нужно компилить, а нужн... 9.4.2008, 14:01
Andrew Selivanov Короче мы - плохо владеем кунг-фу 9.4.2008, 14:06
Leprecon Непонятно почему Флекс не отвечает
15 должно быть... 9.4.2008, 14:15
ViGOur Цитата(Leprecon @ 9.4.2008, 15:15) Непоня... 9.4.2008, 14:30
archimed7592 Давай следующую задачу 9.4.2008, 14:42![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 11.1.2026, 15:55 |