Junior — Middle+
58
Найдите и исправьте ошибки в приведённом C++ коде
Компании, где спрашивали:
Киберпротект
Условие задачи
В этом фрагменте C++ кода есть проблемы, связанные с управлением динамической памятью и наследованием. Не меняя структуру классов, исправьте ошибки, чтобы программа корректно создавала, копировала и удаляла объекты.
class Foo
{
public:
Foo(int size) { i = new int[size]; }
~Foo() { delete i; }
private:
int* i;
};
class Bar : Foo
{
public:
Bar(int size) : Foo(size) { i = new char[size]; }
~Bar() { delete i; }
private:
char* i;
};
void main()
{
Foo* f = new Foo(100);
Foo* b = new Bar(200);
*f = *b;
delete f;
delete b;
}