mirror of
https://github.com/iandinwoodie/cpp-design-patterns-for-humans.git
synced 2025-12-17 04:24:40 +03:00
32 lines
460 B
C++
32 lines
460 B
C++
#include <assert.h>
|
|
|
|
class President
|
|
{
|
|
public:
|
|
static President& getInstance()
|
|
{
|
|
static President instance;
|
|
return instance;
|
|
}
|
|
|
|
private:
|
|
President()
|
|
{
|
|
}
|
|
|
|
~President()
|
|
{
|
|
}
|
|
};
|
|
|
|
int main()
|
|
{
|
|
President& president1 = President::getInstance();
|
|
President& president2 = President::getInstance();
|
|
|
|
// There can only be 1 president, so they must be the same.
|
|
assert(&president1 == &president2);
|
|
|
|
return 0;
|
|
}
|