Klassen mit Operatoren! WANN WELCHE ART?
-
Hallo,
habe eine Präsentation in der Schule wie oben schon erwähnt über Klassen mit Operatoren und habe schon einiges gemacht und nur sagt mir der Lehrer es fehlt mir folgendes:
WANN NIMMT MAN WELCHE DER BEIDEN IMPLEMENTIERUNGSARTEN BZW. KANN MAN ES SICH IMMER AUSSUCHEN?
kann mir jemand bitte weiterhelfen....bin schon am verzweifeln!
Danke im Voraus!
-
Man kann ja einmal die operatoren innerhalb der Klasse deklarieren oder außerhalb, dann hat er ein Argument mehr.
Bei einigen hast du keine Wahl, z. B. bei Sachen wie operator int() oder operator[]. Operatoren wie operator+, operator<<... dagegen sollten außerhalb der Klasse mit zwei Argumenten deklariert werden, Zuweisungsoperatoren innerhalb der Klasse. Wenn du suchst, findest du noch mehr.Viele liebe Grüße
The User
-
Antwort: Man nimmt NIE den Capslock Operator -.-
-
Bitte nicht alles Großschreiben! 
http://www.gotw.ca/gotw/004.htm <-- siehe 3.
-
mularija schrieb:
habe eine Präsentation in der Schule wie oben schon erwähnt über Klassen mit Operatoren und habe schon einiges gemacht und nur sagt mir der Lehrer es fehlt mir folgendes...
Mögliche Anlaufpunkte:
C++ FAQ Lite (Auf Anhieb aber nichts gefunden)
Einer der ersten Treffer von google... (Schau mal auf die 2te Seite)cu André
-
ahh, ich finde leider nichts genaues was ich auf meine folie übernehmen könnte....also eine genaue punkt für punkt beschreibung wann ich was anwende, bin absolute leie

-
der Link von rüdiger ist was du suchst. Lies ihn dir noch einmal komplett durch.
-
mularija schrieb:
ahh, ich finde leider nichts genaues was ich auf meine folie übernehmen könnte....also eine genaue punkt für punkt beschreibung wann ich was anwende, bin absolute leie

Versuch's mal damit. Frei nach Bjarne S.:
[*] Nur Operatoren die prinzipiell ihren ersten Operanden modifizieren (+=, ++ etc.) sollten als Elementoperatoren definiert werden.
[*] Der Elementoperator kann sich auf das instanziierte Objekt beziehen (*this) und benötigt einen Operanden weniger als der Nichtelementoperator
[*]Eine Operatorfunktion eines abstrakten Datentyps die als ersten Operanden eine fundamentalen Datentyp bekommen soll kann nicht als Elementfunktion deklariert werden.
Wenn Du Probleme hast das zu verstehen, dann kommst Du nicht um ein gutes C++ Buch herum. Tips gibt es hier im Forum. Das man so etwas in der Schule abfragt wundert mich
. Ist das ein Informatik Leistungskurs?Gruß,