Kapitel 9: Operatoren nicht nur für Integers
(Übung Buchhandlung mit Christian: == für den Vergleich der Klasse Buch)
class Book {
private:
string ISBN;
string title;
string author;
public:
Book(string isbn, string t, string a){
ISBN = isbn;
title = t;
author = a;
}
// buch1 == buch2
bool operator==(const Book& b2) // new Datatyp is Book
{
if(ISBN == b2.ISBN) // this new Typ is addresd by b2
return true;
else
return false;
}
Book buch1 = Book{978-8-123-12345-6, "Andorra", "Frisch"};
Book buch3 = Book{978-8-123-12345-6, "Mein Name ist Gantenbein", "Frisch"};
if (buch1 == buch3)
cout << "Die Bücher sind gleich." << endl;
else
cout << "Die Bücher sind nicht gleich." << endl;
Hier sind buch1 und buch3 gleich, weil sie die gleichen ISBN haben.
Kapitel 10: IO
Der Operator << ist ursprünglich nur für String.
Sollen bei << auch andere Datentypen übergeben werden können, braucht es ein Overloading.
ostream& operator <<(ostream& os, const Date& d)
Ab sofort kann auch die Klasse Date dem stream übergeben werden.
..