Есть ли в представленной программе логические ошибки?
class Parent {
public:
~Parent() { }
virtual void method() { }
};
class Child : public Parent {
public:
Child() { /* захват ресурсов */ }
~Child() { /* освобождение ресурсов */ }
void method() { /* программный код */ }
};
int main()
{
Parent * obj = new Child;
// программный код
delete obj;
return 0;
}

  • Деструктор базового класса необходимо объявить как virtual
  • Деструктор и метод класса-наследника необходимо объявить как virtual
  • Код логически полностью корректен
  • Метод method в базовом классе не нужно объявлять как virtual
Для просмотра статистики ответов нужно залогиниться.