im folgende code ist operater unsigned short(); benutzt , warum? um itsVal zu type int zu wandeln? , ich sehe, es ist schone unter:
private: int itsVal; }; dass itsVal als int deklariert worden warum braucht man dann diese umwandlungsoperater : operater unsigned short(); ? zweite frage : wird diese operater uberhaupt gerufen ? wenn ja an welche stelle in Main
Hier wird ein Counter-Objekt in ein int umgewandelt. Dafür brauchst Du den Operator. Wenn Du ihn probehalber mal raus nimmst, sollte der Compiler an dieser Stelle meckern.
Das ist wohl wahr. Außerdem soll ja ein unsigned short geliefert werden, was einen weiteren, impliziten cast erfordert, der bei der Zuweisung in main (dort steht wieder int) dann quasi rückgängig gemacht wird. Wirkt nicht ganz durchdacht.
Aber trotzdem, wieso eigentlich unsigned short, wenn der native Typ des Zählers int ist? Das kann doch Überraschungen geben, wenn die Wortbreiten von int und short nicht übereinstimmen.
Und wenn der Operator nur für die Ausgabe über cout gebraucht wird, könnte man auch ostream::operator<< überladen.