class counter { public: counter(int v = 0 ); counter( char* s, int v = 0 ); ~counter() { delete[] id; } const char* name() const { return id; } void operator++() { n = n + 1; } int value() const { return n; } private: int n; char* id; void init(char* s); };