#include class Singleton { private: // Private Konstruktor, um die Instanziierung von außen zu verhindern Singleton() { std::cout << "Singleton Instanz erstellt." << std::endl; } // Verhindert Kopieren und Zuweisung Singleton(const Singleton&) = delete; Singleton& operator=(const Singleton&) = delete; public: // Statische Methode, um die einzige Instanz zu erhalten static Singleton& getInstance() { static Singleton instance; // Die Instanz wird beim ersten Zugriff erstellt return instance; } void someBusinessLogic() { std::cout << "Führe Geschäftslogik aus." << std::endl; } }; int main() { // Zugriff auf die Singleton-Instanz Singleton& singleton = Singleton::getInstance(); singleton.someBusinessLogic(); // Versuch, eine zweite Instanz zu erstellen (wird nicht möglich sein) // Singleton anotherInstance = Singleton::getInstance(); // Dies würde einen Kompilierungsfehler verursachen return 0; }