Програма 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 ++, такі як: +, *, <, + = тощо можуть бути перевантажені подібним чином.

Цікаві статті...