C++ Binäre Operatorüberladung

C++ Operatorüberladung und Funktionsüberladung

Binäre Operatoren erfordern zwei Operanden. Nachfolgend finden Sie Beispiele für binäre Operatoren. Der Additionsoperator ( + ), Subtraktionsoperator ( - ), Multiplikationsoperator ( * ) und Divisionsoperator ( / ), die wir üblicherweise verwenden, sind allesamt binäre Operatoren. Wie der Additionsoperator ( + ).

Das folgende Beispiel zeigt, wie man den Additionsoperator ( + ) überlädt. Ebenso können Sie auch versuchen, den Subtraktionsoperator ( - ) und den Divisionsoperator ( / ) zu überladen.

Beispiel

#include <iostream> using namespace std; class Box { double length; // Länge double breadth; // Breite double height; // Höhe public: double getVolume(void) { return length * breadth * height; } void setLength( double len ) { length = len; } void setBreadth( double bre ) { breadth = bre; } void setHeight( double hei ) { height = hei; } // Überladen Sie den +-Operator, um zwei Box-Objekte zu addieren Box operator+(const Box& b) { Box box; box.length = this->length + b.length; box.breadth = this->breadth + b.breadth; box.height = this->height + b.height; return box; } }; // Die Hauptfunktion des Programms int main( ) { Box Box1; // Deklariere Box1 vom Typ Box Box Box2; // Deklariere Box2 vom Typ Box Box Box3; // Deklariere Box3 vom Typ Box double volume = 0.0; // Speichere das Volumen in dieser Variable // Details zu Box1 Box1.setLength(6.0); Box1.setBreadth(7.0); Box1.setHeight(5.0); // Details zu Box2 Box2.setLength(12.0); Box2.setBreadth(13.0); Box2.setHeight(10.0); // Volumen von Box1 volume = Box1.getVolume(); cout << "Volumen von Box1 : " << volume <<endl; // Volumen von Box2 volume = Box2.getVolume(); cout << "Volumen von Box2 : " << volume <<endl; // Addiere die beiden Objekte, um Box3 zu erhalten Box3 = Box1 + Box2; // Volumen von Box3 volume = Box3.getVolume(); cout << "Volumen von Box3 : " << volume <<endl; return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:

Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400

C++ Operatorüberladung und Funktionsüberladung

Weitere Erweiterungen