Program C ++ do odejmowania liczby zespolonej przy użyciu przeciążenia operatora

W tym przykładzie nauczysz się odejmować liczby zespolone przy użyciu przeciążenia operatora operatora -.

Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania w języku C ++:

  • Klasy i obiekty C ++
  • Konstruktory C ++
  • Przeciążanie operatorów C ++

Ponieważ - jest operatorem binarnym (operatorem działającym na dwóch operandach), jeden z operandów powinien być przekazany jako argument do funkcji operatora, a reszta procesu jest podobna do przeciążania operatorów jednoargumentowych.

Przykład: Przeciążenie operatora binarnego w celu odjęcia liczby zespolonej

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

W tym programie tworzone są trzy obiekty typu Complex, a użytkownik jest proszony o wprowadzenie części rzeczywistej i urojonej dla dwóch liczb zespolonych, które są przechowywane w obiektach c1i c2.

Następnie result = c1 -c 2wykonywana jest instrukcja . Ta instrukcja wywołuje funkcję operatora Complex operator - (Complex c2).

Kiedy result = c1 - c2jest wykonywany, c2jest przekazywany jako argument do funkcji operatora.

W przypadku przeciążenia operatora operatorów binarnych w programowaniu C ++, obiekt po prawej stronie operatora jest zawsze przyjmowany jako argument przez kompilator.

Następnie ta funkcja zwraca wynikową liczbę zespoloną (obiekt) do funkcji main (), która jest wyświetlana na ekranie.

Chociaż ten samouczek zawiera przeciążenie operatorów -, operatory binarne w programowaniu C ++, takie jak: +, *, <, + = itd., Mogą być przeciążane w podobny sposób.

Interesujące artykuły...