QUOTE (Brain13 @ Jan 18 2013, 12:48)

Абстрактный метод = виртуальный метод без реализации.
Это называется "чистая виртуальная" - pure virtual - функция. Никаких абстрактных методов в С++ нет, есть только абстрактные базовые классы. Кстати, "виртуальный метод" - масло масляное. В терминах С++ виртуальная функция - это и есть метод. Т.е. функции-члены могут быть обычными и виртуальными, последние и являются методами, а обычные функции-члены остаются обычными функциями-членами, никакими методами они не являются.
QUOTE (Brain13 @ Jan 18 2013, 12:48)

Хммм... а я думал что, для вызова виртуальных методов необходимо вначале узнать реальный тип объекта, а лишь затем вызвать его переопределенный метод. Я считал, что определением реального типа объекта и занимается rtti. Походу я чего-то не понимаю.
Реальный тип объекта и узнаётся... на этапе компиляции. Компилятор смотрит тип объекта и проверяет, можно ли для этого типа вызвать виртуальную функцию. Если можно, то организует вызов, но не прямой, как в случае с обычной функцией, а через указатель vtbl, откуда извлекается указатель на вызываемую функцию. Всё организуется на этапе компиляции.
QUOTE (Brain13 @ Jan 18 2013, 12:48)

Вот в вике написано о виртуальных методах:
Мутно написано. Правильный вариант - см выше.
QUOTE (Brain13 @ Jan 18 2013, 12:48)

А что тогда делает rtti, и зачем нужен dynamic_cast<>? Можно примерчик?
RTTI нужно, когда действительно надо на рантайме решить, что делать с объектом. Например, есть некий приёмник сообщений, сообщения могут быть разного типа, и нужно каждый тип обрабатывать по-своему. Вот тут информация о типе и нужна реально. dynamic_cast<> позволяет проверить соответствие объекта ожидаемому типу. Накладные расходы, зато можно строить систему, которую не нужно каждый раз пересобирать при добавлении/изменении типов сообщений. Кстати, стандартный механизм RTTI универсален и довольно тяжёл, поэтому в embedded частенько имеет смысл реализовывать что-то своё (внедрение информации о типе в объекты).
«Отыщи всему начало, и ты многое поймёшь» К. Прутков