#include <iostream>
#include <vector>

/*
struct Base
{
  char* data_base;
  Base() { data_base = new char[10000]; }
  ~Base() { delete[] data_base; }
};

struct Child : Base
{
  char* data_child;
  Base() { data_child = new char[10000]; }
  ~Base() { delete[] data_child; }
};
*/

struct Base
{
  char data_base[10000];
  ~Base() {}
};

struct Child : Base
{
  char data_child[10000];
  ~Child() {}
};

int main()
{
  std::vector<Base*> data;

  for (int i = 0; i < 5000; ++i)
    data.push_back(new Child);

  //std::cin.ignore();

  for (int i = 0; i < 5000; ++i)
    delete data[i];

  //std::cin.ignore();

  return 0;
}