#include "singleton.hpp" #include "singleton-pointer.hpp" int main(const int argc, const char *argv[]) { /****************************************************************************/ // Meyers Singleton - static getInstance // Creates a singleton, initializes message in ctor Singleton &s = Singleton::getInstance(); s.showMessage(); // Update already existing Singleton message, show it s.updateMessage("First update\n"); Singleton::getInstance().showMessage(); // Update already existing Singleton message, show it Singleton::getInstance().updateMessage("Second update\n"); s.showMessage(); /****************************************************************************/ // Classic Singleton - pointer getInstance std::cout << "\n##### ClassicSingleton #####\n\n"; // Creates a classic singleton, initializes message in ctor ClassicSingleton *classicSingleton = ClassicSingleton::getInstance(); classicSingleton->showMessage(); // Update already existing ClassicSingleton message, show it classicSingleton->updateMessage("First update\n"); ClassicSingleton::getInstance()->showMessage(); // Update already existing ClassicSingleton message, show it ClassicSingleton::getInstance()->updateMessage("Second update\n"); classicSingleton->showMessage(); }