C++ Frage

  • Hi,
    ich hab eine kleine Frage zu C++.


    Wenn ich eine Klasse habe ( zB "Test" ), die von einer Basisklasse (nennen wir sie "Base" ) erbt, wie kann ich dann, sobald ich eine Instanz von Test erstelle, nicht den "Standartkonstruktor" der Basisklasse ohne Parameter, sondern einen überladenen verwenden, damit die Membervariabeln, die sie von "Base" erbt einen sinnvollen Wert erhalten und nicht ein zufälliges Bitmuster? Ich habe bisher die Elemente,sprich Membervariablen,die von der Basisklasse stammen, dann in die Konstruktorliste der abgeleiteten Klasse getan - müsste aber auch anders gehen, oder? Zumindest habe ich es so gehört.


    MfG
    Korn


    // Edit: Etwas verständlicher falsch es komisch klang :)


    // Edit Nr. 2: Ich hab in einem anderen Forum jemanden gefunden, der mir das erklären konnte (schreibe es hier nur rein, falls es jemanden doch interessieren sollte [...] :(


    Es ist denkbar einfach:



    class Test : public Base
    {
    public:
    Test(int x) : Base(x) {} // "Base" steht für den Konstruktor der Base Klasse. Eben praktischer als hier alle Membervariablen einzeln zu definieren.
    ~Test() {}
    };

    2 Mal editiert, zuletzt von KornChief ()