advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   TIP BANK
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Expertise: Intermediate
Language: C++
April 24, 2001
How to Force a C++ Class to Be a Singleton

The following example demonstrates how to have only one instance of a class at a time.

class MySingleTon
{
public:
static MySingleTon * GetObject()
{
static MySingleTon obj;
return &obj;
}
...
//other interface functions here
...
private:
MySingleTon();
};

First, declare the constructor as private, so no one can create an instance. Next, declare a static method, like GetObject in the code above. Any client can use the only instance of the class, as shown below:

#include “MySingleton.h”
main()
{
MySingleTon * pObject = MySingleton::GetObject();
... use the object...
MySingleTon * pAnother = MySingleton::GetObject();

It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com.
Already a member?





Rajesh Chathapuram
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
advertisement
advertisement