diff --git a/examples/creational/singleton.cpp b/examples/creational/singleton.cpp new file mode 100644 index 0000000..a409755 --- /dev/null +++ b/examples/creational/singleton.cpp @@ -0,0 +1,31 @@ +#include + +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; +}