C ++ programma kompleksa skaitļa atņemšanai, izmantojot operatora pārslodzi

Šajā piemērā jūs iemācīsities atņemt sarežģītus skaitļus, izmantojot operatora operatora pārslodzi.

Lai saprastu šo piemēru, jums jāzina par šādām C ++ programmēšanas tēmām:

  • C ++ klases un objekti
  • C ++ konstruktori
  • C ++ Operatora pārslodze

Tā kā - ir binārs operators (operators, kurš darbojas ar diviem operandiem), viens no operandiem jānodod kā arguments operatora funkcijai, un pārējais process ir līdzīgs unāru operatoru pārslodzei.

Piemērs: binārā operatora pārslodze, lai atņemtu kompleksa skaitli

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

Šajā programmā tiek izveidoti trīs kompleksa tipa objekti, un lietotājam tiek lūgts ievadīt reālo un iedomāto daļu diviem kompleksiem skaitļiem, kas tiek glabāti objektos c1un c2.

Tad result = c1 -c 2tiek izpildīts paziņojums . Šis paziņojums izsauc operatora funkciju Complex operator - (Complex c2).

Kad result = c1 - c2tiek izpildīts, c2tiek nodots kā arguments operatora funkcijai.

Operatora pārslogojot bināros operatorus C ++ programmēšanā, kompilators vienmēr uzskata par objektu operatora labajā pusē.

Pēc tam šī funkcija atgriež iegūto kompleksa numuru (objektu) uz galveno () funkciju, kas tiek parādīta ekrānā.

Lai arī šajā apmācībā ir ietverta operatoru pārslodze, bināros operatorus C ++ programmēšanā, piemēram: +, *, <, + = utt., Var pārslogot līdzīgā veidā.

Interesanti raksti...