C ++ - program for å trekke fra kompleksnummer ved bruk av operatøroverbelastning

I dette eksemplet lærer du å trekke fra komplekse tall ved hjelp av operatøroverbelastning av - operatoren.

For å forstå dette eksemplet, bør du ha kunnskap om følgende C ++ programmeringsemner:

  • C ++ klasser og gjenstander
  • C ++ konstruksjoner
  • C ++ Overbelastning av operatør

Siden - er en binær operatør (operatør som opererer på to operander), bør en av operandene sendes som argument til operatørfunksjonen, og resten av prosessen ligner på overbelastning av unary operatører.

Eksempel: Overbelastning av binær operatør til subtrahering av kompleksnummer

 #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; ) 

I dette programmet opprettes tre objekter av typen Complex, og brukeren blir bedt om å legge inn de virkelige og imaginære delene for to komplekse tall som er lagret i objekter c1og c2.

Deretter blir uttalelsen result = c1 -c 2utført. Denne uttalelsen påkaller operatørfunksjonen Complex operator - (Complex c2).

Når result = c1 - c2utføres, c2sendes som argument til operatørfunksjonen.

I tilfelle operatør overbelastning av binære operatører i C ++ programmering, blir objektet på høyre side av operatøren alltid antatt som argument av kompilatoren.

Deretter returnerer denne funksjonen det resulterende komplekse tallet (objekt) til hovedfunksjonen () som vises på skjermen.

Selv om denne opplæringen inneholder overbelastning av - operatorer, kan binære operatører i C ++ programmering som: +, *, <, + = etc. overbelastes på lignende måte.

Interessante artikler...