Wie kann ich die Instanziierung einer Klasse nur innerhalb einer bestimmten Klasse einschränken?Wie kann sichergestellt werden, dass nur eine bestimmte Klasse eine Instanz einer anderen Klasse erstellt?
Ich möchte es nicht in einer einzigen Datei beschränken, so dass anonymer Namespace keine Option für mich ist.
Bitte beachten Sie, dass ich die Deklaration der zu beschränkenden Klasse für die ganze Welt sichtbar machen möchte, nur dass nur ein bestimmter Kandidat aus der ganzen Welt diese nur instanziieren kann.
Wie kann ich das erreichen?
Es sollte funktionieren, diese einsame Klasse zu einem "Freund" in Kombination mit einem 'privaten' Konstruktor einer nicht öffentlich konstruierbaren Klasse zu machen. –
"Ich möchte die Deklaration der einzuschränkenden Klasse für die ganze Welt sichtbar machen, nur dass nur ein bestimmter Kandidat aus der ganzen Welt nur instanzieren und darauf zugreifen kann." Dann, warum zeigen Sie es, wenn Sie nicht berühren können es? Fehle ich etwas? – ZDF
Möchten Sie zufällig ein Singleton-Muster? Instantiiere es einmal und benutze eine Instanz für alles? – dage5