Задачка N5 |
Здравствуйте, гость ( Вход | Регистрация )
Задачка N5 |
LuckLess |
11.4.2008, 11:48
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: 0 |
встретил тут прикольный код..
АХТУНГ - КОМПИЛИРУЕМ МОЗГОМ!
что будет? |
|
|
ViGOur |
11.4.2008, 11:57
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
По идее должен отработать:
|
|
|
archimed7592 |
11.4.2008, 12:47
Сообщение
#3
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
"as A", ибо срабатывает первый подходящий catch.
|
|
|
ViGOur |
11.4.2008, 12:54
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
archimed7592, думаю тут в другом дело...
|
|
|
archimed7592 |
11.4.2008, 13:02
Сообщение
#5
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата archimed7592, думаю тут в другом дело... Хде слон, которого я не приметил? P.S. Проверил на студии: "as B"... МинЖВ под рукой нет. Но больше всего порадовало, как студия перед тем как выдать "as B" выдала warning со словами, мол catch B const & перекрыт первым catch'ем, который const A & |
|
|
ViGOur |
11.4.2008, 13:07
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Потом я думаю LuckLess, сам скажет, как раз у тебя будет время подумать...
|
|
|
LuckLess |
11.4.2008, 13:18
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ха! Архимед попался! Пойду возьму с полки пирожек
Цитата ибо срабатывает первый подходящий угу.. но тут есть завязочка.. подходящий ли тут A ? |
|
|
AD |
11.4.2008, 13:41
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата std::cout << "Catched " << typeid(.name() << " as B" << std::endl; после того, как сам решил задачку посмотрел на ответы. Наследование у D от A идет косвенно, поэтому вариант A не подходит |
|
|
LuckLess |
11.4.2008, 13:43
Сообщение
#9
|
Студент Группа: Новичок Сообщений: 31 Регистрация: 10.10.2007 Пользователь №: 8 Спасибо сказали: 0 раз(а) Репутация: 0 |
Цитата Наследование у D от A идет косвенно, поэтому вариант A не подходит не то )) поксказка.. если B и C будут наследовать A виртуально, то будет "as A" |
|
|
archimed7592 |
11.4.2008, 14:24
Сообщение
#10
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
Ambiguity? Лаки, ты жестокий человек .
|
|
|
Текстовая версия | Сейчас: 21.12.2024, 16:20 |