Програм Ц ++ за одузимање сложеног броја помоћу преоптерећења оператора

У овом примеру ћете научити одузимање сложених бројева помоћу преоптерећења оператора - оператора.

Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања на Ц ++:

  • Ц ++ класе и објекти
  • Ц ++ конструктори
  • Преоптерећење оператора Ц ++

Будући да је - бинарни оператор (оператор који оперише на два операнда), један од операнда треба предати као аргумент функцији оператора, а остатак је сличан преоптерећењу унарних оператора.

Пример: Преоптерећење бинарног оператора да би се одузео сложени број

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

У овом програму се креирају три објекта типа Сложени и од корисника се тражи да унесе стварни и замишљени део за два сложена броја која се чувају у објектима c1и c2.

Тада result = c1 -c 2се извршава изјава . Ова наредба позива функцију оператора Complex operator - (Complex c2).

Када result = c1 - c2се изврши, c2преноси се као аргумент функцији оператора.

У случају оперативног преоптерећења бинарних оператора у програмирању на Ц ++, објект на десној страни оператора преводилац увек узима као аргумент.

Затим, ова функција враћа резултујући комплексни број (објект) у функцију маин () која се приказује на екрану.

Иако овај водич садржи преоптерећење - оператора, бинарни оператори у програмирању на Ц ++ као што су: +, *, <, + = итд. Могу се преоптеретити на сличан начин.

Занимљиви Чланци...