Archiv verlassen und diese Seite im Standarddesign anzeigen : Eine Klasse über iostream ausgebbar machen. evtl. << überladen?
axeljaeger
06-11-2002, 15:02
Ich habe hier eine Reihe von Klassen, die ich gerne über einen iostream ausgeben würde, also etwa cout << klasse << endl. Muß ich dafür meine Klasse speziell vorbereiten, oder den iostream patchen?
anda_skoa
06-11-2002, 17:15
Du mußt den Stream Operator überladen
class Test
{
public:
friend ostream& operator<<(ostream&, const Test&);
Test(int i) : m_num(i) {};
private:
int m_num;
};
ostream& operator<<(ostream& str, const Test& t)
{
str << t.m_num;
return str;
}
Wahrscheinlich kann man den Operator auch in der Klasse deklarieren, aber ich hab da mal bei einem Versuch zuviele Fehlermeldungen bekommen.
Ciao,
_
PeterTheMaster
08-11-2002, 20:49
kann man nicht. es sei denn man will eine syntax wie
myObject >> cout;
denn eine methode hat immer this als impliziten ersten parameter.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.