C ++ programm keerulise arvu lahutamiseks operaatori ülekoormuse abil

Selles näites saate õppida keerukaid numbreid lahutama, kasutades operaatori operaatori ülekoormamist.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C ++ programmeerimise teemadest:

  • C ++ klassid ja objektid
  • C ++ konstruktorid
  • C ++ operaatori ülekoormus

Kuna - on binaaroperaator (operaator, mis opereerib kahel operandil), tuleks üks operandidest edastada argumendina operaatori funktsioonile ja ülejäänud protsess sarnaneb unaaroperaatorite ülekoormusega.

Näide: binaaroperaatori ülekoormus kompleksarvu lahutamiseks

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

Selles programmis luuakse kolm Complex tüüpi objekti ja kasutajal palutakse sisestada kahe kompleksarvu tegelik ja kujuteldav osa, mis on objektides c1ja c2.

Seejärel result = c1 -c 2täidetakse avaldus . See lause kutsub operaatori funktsiooni Complex operator - (Complex c2).

Kui see result = c1 - c2on täidetud, c2edastatakse see operaatori funktsioonile argumendina.

B + binaarsete operaatorite operaatori ülekoormamise korral C ++ programmeerimisel eeldab kompilaator argumendina alati operaatori paremal küljel asuvat objekti.

Seejärel tagastab see funktsioon saadud kompleksarvu (objekti) funktsioonile main (), mis kuvatakse ekraanil.

Ehkki see õpetus sisaldab - operaatorite ülekoormamist, võib ka Binaarsed operaatorid C ++ programmeerimisel, näiteks: +, *, <, + = jne, üle laadida sarnasel viisil.

Huvitavad Artiklid...