C ++ - programma om complex getal af te trekken met behulp van overbelasting door operator

In dit voorbeeld leert u complexe getallen af ​​te trekken door de operator - te overbelasten.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C ++ programmeeronderwerpen:

  • C ++ klassen en objecten
  • C ++ Constructors
  • Overbelasting door C ++ operator

Aangezien - een binaire operator is (operator die op twee operanden werkt), moet een van de operanden als argument worden doorgegeven aan de operatorfunctie en is het restproces vergelijkbaar met het overbelasten van unaire operatoren.

Voorbeeld: overbelasting van binaire operator om complex getal af te trekken

 #include using namespace std; class Complex ( private: float real; float imag; public: Complex(): real(0), imag(0)( ) void input() ( cout <> real; cin>> imag; ) // Operator overloading Complex operator - (Complex c2) ( Complex temp; temp.real = real - c2.real; temp.imag = imag - c2.imag; return temp; ) void output() ( if(imag < 0) cout << "Output Complex number: "<< real << imag << "i"; else cout << "Output Complex number: " << real << "+" << imag << "i"; ) ); int main() ( Complex c1, c2, result; cout<<"Enter first complex number:"; c1.input(); cout<<"Enter second complex number:"; c2.input(); // In case of operator overloading of binary operators in C++ programming, // the object on right hand side of operator is always assumed as argument by compiler. result = c1 - c2; result.output(); return 0; ) 

In dit programma worden drie objecten van het type Complex gemaakt en wordt de gebruiker gevraagd de reële en imaginaire delen in te voeren voor twee complexe getallen die zijn opgeslagen in objecten c1en c2.

Vervolgens wordt de instructie result = c1 -c 2uitgevoerd. Deze instructie roept de operatorfunctie op Complex operator - (Complex c2).

Wanneer result = c1 - c2wordt uitgevoerd, c2wordt als argument doorgegeven aan de operatorfunctie.

In het geval van overbelasting door de operator van binaire operators in C ++ - programmering, wordt het object aan de rechterkant van de operator door de compiler altijd als argument aangenomen.

Vervolgens retourneert deze functie het resulterende complexe getal (object) naar de functie main () die op het scherm wordt weergegeven.

Hoewel deze tutorial de overbelasting van - operators bevat, kunnen binaire operators in C ++ -programmering zoals: +, *, <, + = etc. op een vergelijkbare manier worden overbelast.

Interessante artikelen...