Frage zu Klassen und Objekten



  • Hy,
    ich bin noch ziehmlich unerfahren was C++ angeht und wollte fragen ob mir jemand bei meinem problem weiterhelfen kann.

    Ich habe eine Klasse Auto und eine Klasse Motor erstellt. Da jedes Auto natürlich einen Motor bennötigt würde ich gerne ein objekt Motor in eines des typs Auto "einpflanzen".
    Jetzt mein problem: ich habe keine ahnung wie ich dass am besten angehen soll.
    Ist so etwas möglich? und wenn ja, wie löse ich dieses problem am besten?

    PS: ist es auch möglich den "eingepflantzten" Motor im Konstruktor des Autos festzulegen?

    Vielen dank schon mal im voraus.

    Gruß Tom



  • Dein Lehrbuch wird doch wohl Membervariablen und ihre Initialisierung beschreiben, oder?



  • Hier eine sehr reduziertes Beispiel ohne Krimskrams:

    class Motor {
       // was auch immer einen Motor ausmacht
    };
    
    class Auto {
    private:
        Motor eingebauterMotor; // der Motor des Autos
    
    public:
        Auto (Motor m);  // Konstruktor
    };
    
    // vermutlich in einer .cpp Datei:
    Auto::Auto (Motor m)
    : eingebauterMotor(m)  // eingebauterMotor "wird initialisiert mit" m
    {
    }
    

    (EDIT: soll auch heißen, dass man das hier noch besser machen kann mit konstanten Referenzen oder std::move aus dem "neuen" Sprachstandard und durch das Angebot eines move Konstruktors. Aber das führt hier wohl eher zu weit).


Anmelden zum Antworten