Problema 52

#include <iostream>
using namespace std;
class B
{ protected: static int x;
             int i;
  public: B() { x++; i=1; }
          ~B() { x--; cout << "b";}
          int get_x() { return x; }
          int get_i() { return i; } };
int B::x;
class D: public B
{ public: D() { x++; }
          ~D() { x--; cout << "d";} };
int f(B *q)
{ return (q->get_x())+1; }
int main()
{ B *p=new B[10];
  cout<<f(p);
  delete[] p;
  p=new D;
  cout<<f(p);
  delete p;
  
  cout<<D::get_x();
  return 0;
}