Manchmal möchte ich weder einen Standardkonstruktor bereitstellen, noch möchte ich, dass der Compiler einen Systemstandardkonstruktor für meine Klasse bereitstellt. In C++ 11 kann ich etwas wie:Wie lösche ich den Standardkonstruktor?
class MyClass
{
public:
MyClass() = delete;
};
Aber zur Zeit meines Dozenten mir, dass in meiner Aufgabe zu tun, ist es nicht möglich. Die Frage ist: Gibt es vor C++ 11 eine Möglichkeit, dem Compiler mitzuteilen, implizit einen Standardkonstruktor anzugeben?
Scott Meyers in seinem Buch Effective Modern C++ schreibt, dass Sie auch Ihren privaten Konstruktor ohne Definition verlassen können. Es wird Ihnen helfen, Ihren Standardkonstruktor vor dem Aufruf von Freundschaftsklassen zu schützen (Linkfehler wird ausgelöst). – MrPisarik