Program C ++ na odpočítanie komplexného čísla pomocou preťaženia operátora

V tomto príklade sa naučíte odčítať zložité čísla pomocou preťaženia operátora - -.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich programovacích tém C ++:

  • Triedy a objekty v C ++
  • Konštruktory C ++
  • Preťaženie operátora C ++

Pretože - je binárny operátor (operátor, ktorý pracuje na dvoch operandoch), jeden z operandov by sa mal odovzdať ako argument funkcii operátora a zvyšok je podobný preťaženiu unárnych operátorov.

Príklad: Preťaženie binárneho operátora na odpočítanie komplexného čísla

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

V tomto programe sú vytvorené tri objekty typu Complex a užívateľ je vyzvaný k zadaniu reálnej a imaginárnej časti pre dve komplexné čísla, ktoré sú uložené v objektoch c1a c2.

Potom result = c1 -c 2sa vykoná príkaz . Toto vyhlásenie vyvolá funkciu operátora Complex operator - (Complex c2).

Keď result = c1 - c2sa vykoná, c2odovzdá sa ako argument funkcii operátora.

V prípade preťaženia operátora binárnymi operátormi v programovaní v C ++ sa objekt na pravej strane operátora vždy považuje za argument kompilátora.

Potom táto funkcia vráti výsledné komplexné číslo (objekt) do funkcie main (), ktorá sa zobrazí na obrazovke.

Aj keď tento výukový program obsahuje preťaženie - operátorov, binárne operátory v programovaní v C ++ ako: +, *, <, + = atď. Môžu byť preťažené podobným spôsobom.

Zaujímavé články...