Fehler in einer Klasse



  • naja wennde guckst, siehste ja das eigentlich die methode sortieren,sortiert und dann gleichzeitig anzeig, und getmax zeigt das maximum in dem vector an und bei getmin andersum...verstehste wie ich es meine



  • Die Methoden sollten doch eigentlich alle mit dem Member "vector<int> Liste;" arbeiten - also ist es nicht nötig, den zu sortierenden bzw. zu durchsuchenden vector<> nochmal als Parameter mitzugeben.

    Firefighter schrieb:

    naja wennde guckst, siehste ja das eigentlich die methode sortieren,sortiert und dann gleichzeitig anzeig

    Da solltest du nochmal die Aufgabenteilung der Methoden überdenken - anzeigen() sollte sich um die Anzeige kümmern und nicht sortieren (dafür ist sortieren() da) und umgekehrt.



  • Firefighter schrieb:

    naja wennde guckst, siehste ja das eigentlich die methode sortieren,sortiert und dann gleichzeitig anzeig,...

    Nur mal so am Rande:
    Eine Funktion sollte möglichst eine klar umrissene Aufgabe erledigen. Das macht das Lesen des Codes zum einen leichter, zum anderen ist es spätestens in der Arbeit im Team unabdingbar. Man kann nicht erwarten das sich andere den Sourcecode durchlesen um herauszufinden was die Methode macht (Man entwickelt gegen die Schnittstelle, sprich die Deklaration, nicht die konkrete Implementierung).

    cu André



  • Die Methoden sollten doch eigentlich alle mit dem Member "vector<int> Liste;" arbeiten - also ist es nicht nötig, den zu sortierenden bzw. zu durchsuchenden vector<> nochmal als Parameter mitzugeben.

    wie meinste das... meinste damit ich soll aus dem methoden prototypen das

    vector<int>Liste
    

    rausnehmen und gar keine wert übergeben?? und dann nur in die Methode reinschreiben ,wenn es zum soriteren kommt, welchen vector er nehmen soll, nämlich den einen der nur unter private vergeben ist.meinste das so??



  • Ja, genau so meinte ich das (bei der einfügen()-Methode z.B. hast du es ja auch so gemacht ;))



  • jop alles klar ich habs geändert, also net in dem code hier im forum...aber funktionieren tut es immernoch net...also anscheint fügt der das elemtn gar net ein,...so ein mist



  • Schau dir doch mal im Debugger an, was da unterwegs passiert 😉



  • bei C::B kann ich irgendwie net debuggen???



  • hab den fehler endlich gefunden, danke jungs für eure zeit



  • du hast hier doppelt list, nicht effizient, entweder list erzeugt in class, dann solltest du immer callbyreference angeben (evtl mit const) od von aussen, dann schreib auch "void anzeigen()" ausserhalb von der class, intern sollst du gar nichts speichern


Anmelden zum Antworten