C ++ - program til at trække kompleksnummer fra ved hjælp af operatøroverbelastning

I dette eksempel lærer du at trække komplekse tal ved hjælp af operatøroverbelastning af - operatoren.

For at forstå dette eksempel skal du have kendskab til følgende C ++ programmeringsemner:

  • C ++ klasser og objekter
  • C ++ konstruktører
  • C ++ Operatør Overbelastning

Da - er en binær operatør (operatør, der opererer på to operander), skal en af ​​operanderne sendes som argument til operatørfunktionen, og hvileprocessen ligner overbelastning af unary operatører.

Eksempel: Overbelastning af binær operatør til subtrahering af 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 program oprettes tre objekter af typen Complex, og brugeren bliver bedt om at indtaste de reelle og imaginære dele for to komplekse tal, der er gemt i objekter c1og c2.

Derefter result = c1 -c 2udføres erklæringen . Denne erklæring påberåber operatørfunktionen Complex operator - (Complex c2).

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

I tilfælde af operatøroverbelastning af binære operatører i C ++ programmering antages objektet på højre side af operatøren altid som argument af kompilatoren.

Derefter returnerer denne funktion det resulterende komplekse tal (objekt) til hovedfunktionen (), som vises på skærmen.

Selvom denne tutorial indeholder overbelastning af - operatorer, kan binære operatorer i C ++ programmering som: +, *, <, + = osv. Overbelastes på en lignende måde.

Interessante artikler...