#include <iostream>
class A {
 public :
  A(){p = new int[2];cout << "Allocato un vettore di 2 interi" << endl;}
    ~A() {delete [] p; cout << "Distrutto un vettore di 2 interi" << endl;}
 private:
  int* p;
};
class B : public A{
 public :
  B(){q = new int[20];cout << "Allocato un vettore di 20 interi" << endl;}
  ~B() {delete [] q; cout << "Distrutto un vettore di 20 interi" << endl;}
 private:
  int* q;
};
int main()
{
 for (int i = 0; i < 5; i++){
     A* a = new B;
     delete a;
    }
}
