Objekte vergleichen ?
-
Hi alle !
Ich versuche gerade 2 Objekte zu vergleichen !
übergabe CallbyValue
main().....
}
erg = k_vergleich(x,y);
}bool k_vergleich(Konto konto1,Konto konto2)
{if(konto1>konto2)
{
return false;
}
else
{
return true;
}}
Ist es überhaupt möglich 2 Objekte so zu vergleichen ?
MFG,
Matthias
-
Nein.
-
es waere moeglich wenn das "Konto" Objekt den Operator > unterstuezt
von selbst wird das sonst nicht funktionierenzb: so wuerde es dann funktionieren
class Konto { int value; bool operator> (const Konto& k) const { return (value > k.value) ? true : false; } };
-
DarthZiu schrieb:
Nein.
Natürlich schon.
Man muss nur den operator> überladen, dann geht es schon.
Matthias500, lies mal in deinem C++ Buch das Kapitel über "Operatoren Überladung"
-
Danke für die schnelle Antwort!
Vielleicht mit Call by Referenz ?
-
Matthias500 schrieb:
Ist es überhaupt möglich 2 Objekte so zu vergleichen ?
Sicher. Du musst nur die entsprechenden Operatoren für deine Klasse überladen.
-
Ihr Geier
-
Wenn du gemeint hast, ob man Objekte von z.B. der Klasse Konto so vergleichen kann:
Konto k1, k2; ... if(k1 < k2) ... else ...
Das geht. Und zwar mit der Operatorenüberladung. Mit dieser kannst du nämlich den Geltungsbereich von Operatoren für deine Klasse erweitern.
In diesem Fall müsste der Operator "<" überladen werden.Für nähere Infos siehe z.B. folgendes Tutorial.
http://tutorial.schornboeck.net///Edit: Man ist hier was passiert. (Muss mich wohl nach dem Urlaub erstmal wieder Eingschreiben ... )
Caipi
-
Darf ich fragen was ich da machen muss ? Das meine Klasse
class Konto
{private:
int m_ktonr;
int m_ktostand;
bool t;
public:
Konto(int ktonr,int ktostand)
{
m_ktonr = ktonr;
m_ktostand = ktostand;
}
int gibKontonr(){return m_ktonr;}
int gibKontostand(){return m_ktostand;}
void einzahlen(int betrag){m_ktostand+=betrag;}
void abheben(int betrag){m_ktostand-=betrag;}
void kontox()
{
cout << "\nKontonummer:m_ktonr "<<m_ktonr;
cout << "\nKontobetrag:m_ktostand "<<m_ktostand;
}
};
-
HumeSikkins schrieb:
Ihr Geier
zum glück gibt es diese themen-überblick-aktualisieren funktion, sonst wäre hier 5mal das gleiche gestanden
-
Matthias500 schrieb:
Darf ich fragen was ich da machen muss ? Das meine Klasse
int m_ktonr;
int m_ktostand;naja das musst du wissen..
ich schatz aber mal das du den kontostand vergleichen willstEDIT: sieh dir mein bsp an auf der ersten seite
-
//Edit: Sorry, habe leo aka qsch's Beispiel garnicht gesehen... Bewirkt das gleiche.
Caipi
-
Vielen dank !! an alle für die schnelle hilfe !
-
davie schrieb:
HumeSikkins schrieb:
Ihr Geier
zum glück gibt es diese themen-überblick-aktualisieren funktion, sonst wäre hier 5mal das gleiche gestanden
Ja,ja. Immer von mir abschreiben...
:p
-
Shade Of Mine schrieb:
davie schrieb:
HumeSikkins schrieb:
Ihr Geier
zum glück gibt es diese themen-überblick-aktualisieren funktion, sonst wäre hier 5mal das gleiche gestanden
Ja,ja. Immer von mir abschreiben...
:pKata (Japanese for form or pattern) are an exercise where the novice repeatedly tries to emulate a master
Eine gute Lernstrategie nicht nur beim Karate
-
Shade Of Mine schrieb:
DarthZiu schrieb:
Nein.
Natürlich schon.
Man muss nur den operator> überladen, dann geht es schon.Das ist mir schon klar. Ich meinte, so wie er das versucht, wird es nichts... Sorry, hab mich falsch ausgedrückt.