oistalker, благодарю Вас, понял. Век живи век учись. Хорошо что есть форумы :). М-да выдели в классе B кучу памяти и даже вроде бы как определи её освобождение в деструкторе, а в итоге он не выполнится и как результат трудно находимая утечка :). Действительно проблему исправляет объявление конструктора базового класса A виртуальным.
TAB
Что ты говорил про метод Render()? В которой из приведенных реаизаций он не должен быть виртуальным, по-твоему, и как это тогда должно работать?
red noise
В сообщении #6, ПМСМ, нет смысла метод Render() делать виртуальным.
В случае #20 нужен ли там уровень абстракции? Если да, то, да, без чистой виртуальной функции не обойтись (но не обязательно Render() :)).
TAB
Тогда, например, при вызове Test1->Render() (ниже) будет вызван не тот рендер, который нужен.
TAB Render там чисто для примера=) с него же все началось
TAB
Будет вызван Рендер() из родительского класс, а не дочернего.. (т.е. ред_ноисе прав)
Я вдруг понял, что сильно заблуждался :(
Тема в архиве.