Объявить somefunction() виртуальной и перегрузить её в классе B...
Вий есть колоссальное создание простонародного воображения...
"...Когда хотят сделать людей добрыми, мудрыми, свободными, воздержанными, великодушными, то неизбежно приходят к желанию их всех перебить." Анатоль Франс
Гость wrote:Не работает. По стандарту dynamic_cast работает только с public inheritance. Чо делать?
Надо начать с дизайна. Класс A ничего не должен знать о своих наследниках.
В данном случае я бы советовал использовать решение Вия только метод объявить как protected