Program C ++ za oduzimanje složenog broja pomoću preopterećenja operatora

U ovom ćete primjeru naučiti oduzimati složene brojeve pomoću preopterećenja operatora - operatora.

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na C ++:

  • C ++ klase i objekti
  • Konstruktori C ++
  • Preopterećenje operatora C ++

Budući da je - binarni operator (operator koji operira na dva operanda), jedan od operanda treba proslijediti kao argument funkciji operatora, a ostatak je sličan preopterećenju unarnih operatora.

Primjer: Preopterećenje binarnog operatora da bi se oduzeo složeni broj

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

U ovom programu stvaraju se tri objekta tipa Složeni i od korisnika se traži da unese stvarni i imaginarni dio za dva složena broja koja su pohranjena u objektima c1i c2.

Tada result = c1 -c 2se izvršava izjava . Ovaj izraz poziva funkciju operatora Complex operator - (Complex c2).

Kada result = c1 - c2se izvrši, c2predaje se kao argument funkciji operatora.

U slučaju operativnog preopterećenja binarnih operatora u programiranju na C ++, objekt s desne strane operatora uvijek se pretpostavlja kao argument od strane kompajlera.

Zatim ova funkcija vraća rezultirajući kompleksni broj (objekt) u glavnu () funkciju koja se prikazuje na zaslonu.

Iako ovaj vodič sadrži preopterećenje - operatora, binarni operatori u programiranju C ++ poput: +, *, <, + = itd. Mogu se preopteretiti na sličan način.

Zanimljivi članci...