Здравствуйте, Vamp, Вы писали:
V>А что тебя, собственно, удивляет? V>p_A = new foo2_decorator<A>(*p_A);
V>Теперь у тебя p_A указывает на объект типа foo2_decorator, в нем foo1 не переопределен. Как еще могло бы быть?
А разве таблица виртуальных методов не копируется ? Скорее происходит усечение.