#include #include #include #include using namespace std; class Widget { public: int gizmo; int sprog; static int number; Widget( int Gizmo=0, int Sprog=0) : gizmo(Gizmo), sprog(Sprog) { number++; } ~Widget() { number--; } }; int Widget::number; typedef auto_ptr SPW; // SPW = Shared Pointer to Widget vector vwp; void MakeWidgets() { int i; for (i=0;i<100;i++) { vwp.push_back( SPW(new Widget)); } } void UnmakeWidgets() { vwp.clear(); } int main() { cout << "Widget::number = " << Widget::number << endl; MakeWidgets(); cout << "Widget::number = " << Widget::number << endl; UnmakeWidgets(); cout << "Widget::number = " << Widget::number << endl; return 0; }