Program C ++ za odštevanje kompleksne številke s pomočjo preobremenitve operaterja

V tem primeru se boste naučili odštevati kompleksna števila z uporabo preobremenitve operatorja -.

Če želite razumeti ta primer, morate poznati naslednje programske teme C ++:

  • C ++ razredi in predmeti
  • Konstruktorji C ++
  • Preobremenitev operaterja C ++

Ker - je binarni operater (operater, ki deluje na dveh operandih), je treba enega od operandov poslati kot argument operacijski funkciji, postopek počitka pa je podoben preobremenitvi unarnih operaterjev.

Primer: Preobremenitev binarnega operaterja za odštevanje kompleksne številke

 #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 tem programu se ustvarijo trije objekti tipa Complex in uporabnik mora vnesti resnične in namišljene dele za dve kompleksni številki, ki sta shranjeni v objektih c1in c2.

Nato se izjava result = c1 -c 2izvrši. Ta stavek prikliče funkcijo operaterja Complex operator - (Complex c2).

Ko result = c1 - c2se izvede, c2se posreduje kot argument operacijski funkciji.

V primeru preobremenitve z binarnimi operatorji pri programiranju na C ++ je objekt na desni strani operaterja vedno prevzet kot argument s strani prevajalnika.

Nato ta funkcija vrne nastalo kompleksno število (objekt) v funkcijo main (), ki je prikazana na zaslonu.

Čeprav ta vadnica vsebuje preobremenitev - na podoben način je mogoče preobremeniti binarne operatorje v programiranju C ++, kot so: +, *, <, + = itd.

Zanimive Članki...