Програма C ++ за изваждане на сложен номер с помощта на претоварване на оператора

В този пример ще се научите да изваждате комплексни числа, като използвате претоварване на оператора на оператора -.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:

  • C ++ класове и обекти
  • Конструктори на C ++
  • Претоварване на оператора C ++

Тъй като - е двоичен оператор (оператор, който работи с два операнда), един от операндите трябва да бъде предаден като аргумент на функцията на оператора, а процесът на почивка е подобен на претоварването на унарни оператори.

Пример: Претоварване на двоичен оператор за изваждане на комплексния номер

 #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се предава като аргумент на операторската функция.

В случай на претоварване на оператор на двоични оператори при програмиране на C ++, обектът от дясната страна на оператора винаги се приема като аргумент от компилатора.

След това тази функция връща резултантното комплексно число (обект) на main () функция, която се показва на екрана.

Въпреки това, този урок съдържа претоварване на - оператори, двоични оператори в програмирането на C ++ като: +, *, <, + = и т.н. могат да бъдат претоварени по подобен начин.

Интересни статии...