006
06.12.2004, 02:34 Uhr
typecast
aka loddab (Operator)
|
Es gibt auch friend operatoren. Nimm z.B. mal den operator<<
C++: |
class myClass { public: myClass() {}
friend std::ostream& operator>>(std::ostream&, const& myClass); }
|
Dieser Operator gehoert _nicht_ zur Klasse. Es wuerde ja auch keinen Sinn machen. Denn schliesslich wuerde er doch eher zur Klasse ostream gehoeren (ostream soll ja schliesslich ein Element der Klasse myClass ausgeben).
Andererseits benoetigt der operator>> vielleicht auch zugriff auf die Membervariablen der Klasse . Deswegen deklariert man diesen Operator als friend.
Im grunde genommen macht man das fuer alle operatoren, die eigentlich nicht zur Klasse selbst gehoeren, aber trotzdem Zugriff auf die protected Membervariablen der Klasse brauchen. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925) |