Klausur geschrieben,kann jemand ne Aufgabe lösen ?



  • Als Bild gibt es diese Klausur-Aufgabe...

    es gab 3 aufgaben á 10 punkte, eine hab ich gar nicht, eine im prinzip komplett richtig, also hängt alles an der folgenden...

    Vllt. kann ja jemand mal die Lösung hinschrieben, dann schreib ich meine, hab nur jetzt keine zeit,und ob ihr dann meint,dass ich da paar Punkte für bekomme.....

    www.dj2book.de/klasse.jpg



  • Hi,

    wie wärs denn, wenn Du zuerst Deine Lösung postest, und wir unsere Kommentare dazu abgeben. Hausaufgaben werden hier nicht gerne gemacht.

    grüße Con@n



  • ok,stimmt schon, aber komme erst heute abend dazu...wenn ich dann noch alles weiss...



  • ich hab da früher mal was geschrieben und es jetzt entsprechend angepasst...

    gib mir mal deine mailadresse, dann schick ich dirs





  • also ich habe meine aufgaben eher so gelöst, ist schlechter , klar, aber gibts dafür auch punkte ?

    // time.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
    //
    
    #include <iostream>
    
    class Zeit
    {
    private:
    
    	long int time;
    	short int milli;
    
    public:
    
    	Zeit(long int S=0, short int M=0)
    	{
    		time=S;
    		milli=M;
    	}
    
    	void setze_sek(long int Sekunden)
    	{
    		this->time=Sekunden;
    	}
    
    	long int sek ()
    	{
    		return (time);
    	}
    
    	short int millisek ()
    	{
    		return (milli);
    	}
    
    };
    
    Zeit & operator+(Zeit time2)
    {
    	Zeit erg;
             erg.time=time+time2.time;
             return(erg)
    }
    

    ist das was da steht völlig falsch ?Hab aber in der class nur die definition geschrieben und dann extra die emthoden mit "::"



  • den operator + als eine nicht Elementfunktion zu definieren ist in diesem Fall sinnlos. Wenn du es aber schon tust, muss die Funktion zwei Parameter besitzen (zwei konstante Referenzen) und eine Kopie zurückgeben, keine Referenz (auch noch auf ein lokales Objekt 🙄 )



  • glaub ich hab auch *this zurückgegeben,aber den zweiten parameter nicht.

    ist das was denn bei mir steht totaler blödsinn,oder kann man da paar punkte für bekommen ?hab das ja für alle emthoden,sind ja teilweise gleich,nur plus oder minus anders und so...



  • also wenn du *this in einer nicht Elementfunktion zurückgibst, ist es völliger quatsch.

    class Zeit {
    //...
    //falls die Membervariablen in Non-Public Bereich deklariert sind:
    	friend Zeit operator + (const Zeit& T, const Zeit& U);
    };
    
    Zeit operator + (const Zeit& T, const Zeit& U) {
    	return Zeit(T.time + U.time,T.milli + U.milli);
    }
    

Anmelden zum Antworten