Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Klassen // Überladung in Dateibereich ostream & operator<<(ostream & os, const Vector & v) os << v.x << " " << v.y << " " << v.z << endl; return os; } int main() { Vector v1(1,0,0), v2(0,0,1), v3(3,3,3); cout << "v1 = " << v1 << endl; cout << "v2 = " << v2 << endl; cout << "v3 = " << v3 << endl; cout << "v1 + v2 = " << v1+v2 << endl; cout << "v1 + v2 + v3 = " << v1+(v2+v3) << endl; v1 += v3; cout << "v1 + v3 = " << v1 << endl; v1 += v2 += v3; cout << "v1 + v2 + v3 = " << v1 << endl; return 0; } { Klassen Verweise Siehe Kategorie Operatoren, Überladung der Operatoren Konvertierungsmethoden Beispiel einer Vektorklasse Anwendung Ein Konstruktor, der mit nur einem Argument aufgerufen werden kann, ist prak- tisch ein Konvertierungskonstruktor vom Typ seines Arguments in den Typ seiner Klasse. Sofern ein solcher Konstruktor nicht als explicit deklariert ist, wird er sogar in die Standardkonvertierungen des Compilers aufgenommen. Vielfach wäre aber auch die umgekehrte Konvertierung (vom Typ der eigenen Klasse in einen anderen Typ) wünschenswert. 562