objekte zu anderen objekten hinzufügen



  • Man bedenke das mit Zeigern die Möglichkeit besteht, dass ein internes Objekt ( Auto ) von meiner Klasse Fahrer, ohne einen Fahrer anzusprechen geändert werden könnte ... ( außnahme auto_ptr }

    Naja, ich würde mir ne Klasse Autohandel oder so basteln, die mir nur Autos an Fahrer verkauft, so würde ich nicht direkt selber Autos erstellen und darauf zugreifen können.

    class Fahrer {
            Auto myCar;
     public:
            void kaufeAuto ( const Auto& aa) { myCar = aa; }
            // ... 
    }
    
    int main()
    {
      Fahrer Simon2;
      Auto bmw;
      Simon2.kaufeAuto(bmw);
      zerschneideBlaBla(bmw);
      Simon2.drive();
    

    Ist doch gut das du noch fahren kannst, schließlich ist das dein Auto und keiner sollte daran rumfuschen können ...

    Wie du schon gesagt hattest, es kommt auf die Aufgabenstellung an und wie man es modelliert. Jenachdem muss man sich über sowas dann keine Gedanken machen.



  • KasF schrieb:

    Man bedenke das mit Zeigern die Möglichkeit besteht, dass ein internes Objekt ( Auto ) von meiner Klasse Fahrer, ohne einen Fahrer anzusprechen geändert werden könnte ...

    Eben DAS sollte mein Beispiel zeigen: Im realen Leben kann es so sein, dass jemand Anderes außerhalb Deiner Kontrolle Zugriff auf Dein Auto hat - soll mein Programm das widerspiegeln, ist eine innere Kopie unpassend und Pointer/Referenz geeigneter.

    Gruß,

    Simon2.


Anmelden zum Antworten