// B7.cpp - singleton creator #include using namespace std; class created { public: created() : myCount(++numObjects) { } void say() { cout << "\n this is created object #" << myCount; } private: int myCount; static int numObjects; }; int created::numObjects = 0; ////// start of required answer ///////////////////////////////////// class singleton { public: singleton() : pInstance(NULL) { } created* creator() { if(pInstance == NULL) pInstance = new created; return pInstance; } private: created *pInstance; }; ////// end of required answer /////////////////////////////////////// void main() { singleton maker; created *pCreated = maker.creator(); pCreated->say(); created *pAnother = maker.creator(); pAnother->say(); cout << "\n\n"; }