Warum eine Initialisierungsmethode anstelle eines Konstruktors verwenden?

Ich habe in eine neue Firma und ein Großteil der code-Basis verwendet Initialisierungs-Methoden statt Konstruktoren.

struct MyFancyClass : theUberClass
{
    MyFancyClass();
    ~MyFancyClass();
    resultType initMyFancyClass(fancyArgument arg1, classyArgument arg2, 
                                redundantArgument arg3=TODO);
    //several fancy methods...
};

Sie sagte mir, dass dies etwas damit zu tun gehabt mit dem timing. Dass einige Dinge müssen getan werden nach Bau würde nicht in den Konstruktor. Aber die meisten Konstruktoren sind leer und ich habe nicht wirklich einen Grund für die Verwendung von Konstruktoren.

So, ich Wende mich an Sie, oh Zauberer des C++: warum würden Sie eine init-Methode statt Konstruktor?

InformationsquelleAutor der Frage bastibe | 2010-09-24

Schreibe einen Kommentar