Objekt an Objekt übergeben?



  • Hallöchen, ich hab grad vor ein paar Wochen mit C++ begonnen und wollte nun ein kleines Programm schreiben, allerdings hät ich nun eine Frage:
    Ich habe eine Klasse Auto mit 4 parametern (beschleunigung, geschwindigkeit, gewicht, baujahr) und erstelle 3-4 Objekte (Bmw,Audi,Porsche,Ferrari).
    Nun wollte ich die Objekte mit einer Methode vergleichen z.b. Bmw.vergleichen(Audi); natürlich geht das so nun nicht und wollte gerne wissen was für Möglichkeiten es da gibt? Eine wäre wohl alle Parameter in zusätzliche Variablen zu speichern allerdings wär das zu aufwendig, die andere option wäre wohl mit Zeiger auf die einzelnen objekte und die Zeiger übergeben (wobei ich mir da nicht sicher bin wie ich dann in der Methode auf die einzelnen Parameter zugreife), gibt es da noch andere Möglichkeiten die ich vllt nicht kenne?
    mfg Geblubber



  • Ich würde hierfür Vergleichsfunktionen zur Verfügung stellen. Funktoren sagen dir wohl noch nichts. Diese Funktionen würde ich ganz normal als freie Funktionen implementieren, in etwa so:

    bool langsamer(const Auto& a, const Auto& b) // Ist a langsamer als b?
    {
        return a.geschwindigkeit < b.geschwindigkeit;
    }
    

    Damit kannst du dann auch Autos nach Geschwindigkeit sortieren, diese Funktion lässt sich nämlich mit den STL-Algortihmen verwenden.



  • Geblubber schrieb:

    Bmw.vergleichen(Audi); natürlich geht das so nun nicht

    Warum soll das denn nicht gehen?


Anmelden zum Antworten