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();
Note that both pObject and pAnother points to the one and only instance of MySingleTon.
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.