Divisions-Zuweisung /=Der Divisions-Zuweisungs-Operator dividiert den Wert der links des Operator stehenden Variablen durch den rechts des Operators stehenden Wert und speichert das Resultat zurück in die Variable.
Siehe auch Zuweisungs-Operator =, Divisions-Operator / DetailsDer Divisions-Zuweisungs-Operator erwartet links einen lvalue und rechts einen rvalue und wird von rechts nach links abgearbeitet. Der Rückgabewert ist in C ein rvalue: Der Wert des linken Operanden nach der Zuweisung. in C++ ist der Rückgabewert ein lvalue: Der (mittlerweile zugewiesene) linke Operand selbst. Der Divisions-Zuweisungs-Operator verhält sich genau gleich wie der Zuweisungsoperator, nur dass er eine zusätzliche Division ausführt. Für Details über die Eigenschaften einer Divisions-Zuweisung wird hier somit auf die Beschreibung des Zuweisungsoperators und des Divisions-Operators verwiesen. Als zusätzliche Erläuterung des Divisions-Zuweisungs-Operators im Bezug zum einfachen Zuweisungsoperator genügen folgende zwei Programmzeilen, welche absolut äquivalent sind:
Die gesetzten runden Klammern deuten an, dass aufgrund der Operatoren-Rangordnung bei der Divisions-Zuweisung genauso wie bei allen Zuweisungs-Operatoren der komplette rechte Teil nach den Gleichheitszeichen als EIN Operand ausgewertet wird. Überladen des OperatorsDer Divisions-Zuweisungs-Operator hat grundsätzlich die semantische Bedeutung einer Division einer Variablen mit einem Wert und anschliessender Zuweisung des Resultates zur Variablen. Allerdings steht es dem Programmierer frei, eine andere Semantik zu definieren. Die Prototypen für das Überladen des Divisions-Zuweisungs-Operators sind die folgenden (Einschränkungen und Erläuterungen siehe Überladen von Operatoren):
Man beachte, dass der Divisions-Zuweisungs-Operator im Gegensatz zum einfachen Zuweisungs-Operator sowohl innerhalb als auch ausserhalb der Klasse überladen werden kann, obschon gewisse Quellen dies nicht erlauben. Es ist jedoch zu empfehlen, Zuweisungs-Operatoren grundsätzlich nicht ausserhalb der Klasse zu definieren. Da der Divisions-Zuweisungs-Operator in C++ normalerweise einen lvalue zurückgibt, ist der Rückgabetyp der Überladung üblicherweise ein Referenz-Typ (&) der eigenen Klasse, wobei der Rückgabewert normalerweise mit Der Im folgenden Beispiel wird eine Klasse präsentiert für einen zweidimensionalen Vektor. Gemäss der Vektoralgebra wird eine Division eines Vektors mit einem Skalar als die komponentenweise Division der Vektorfelder beschrieben.
|