Code:
std::ostream& operator<<(std::ostream& myStream, const MyClass& my)
Der zweite Parameter ist ein Objekt deiner Klasse. Arbeitest du mit Zeigern, hast du direkten Zugriff auf das original Objekt:
Code:
std::ostream& operator<<(std::ostream& myStream, MyClass* my)
Nehmen wir an, die MyClass sieht so aus:
Code:
class MyClass
{
private:
std::string name;
public:
MyClass(std::string);
friend std::ostream& operator<<(std::ostream&, MyClass*);
};
Dann könntest du so den Namen des Objektes zum Beispiel ausgeben:
Code:
std::ostream& operator<<(std::ostream& stream, MyClass* my)
{
return stream << my->name;
}
Aufgerufen wird es dann so:
Code:
int main()
{
MyClass* my = new MyClass("TestObjekt");
cout << my;
//...
}