#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; }