Program C ++ pro odečtení komplexního čísla pomocí přetížení operátora

V tomto příkladu se naučíte odečíst složitá čísla pomocí přetížení operátoru - operátor.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata C ++:

  • C ++ třídy a objekty
  • Konstruktory C ++
  • Přetížení operátora C ++

Protože - je binární operátor (operátor, který pracuje na dvou operandech), jeden z operandů by měl být předán jako argument operátorové funkci a zbytek je podobný přetížení unárních operátorů.

Příklad: Přetížení binárního operátoru na odečtení komplexního čísla

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

V tomto programu jsou vytvořeny tři objekty typu Complex a uživatel je vyzván k zadání skutečné a imaginární části pro dvě komplexní čísla, která jsou uložena v objektech c1a c2.

Poté result = c1 -c 2je proveden příkaz . Tento příkaz vyvolá operátorskou funkci Complex operator - (Complex c2).

Když result = c1 - c2je proveden, c2je předán jako argument funkci operátoru.

V případě přetížení operátorů binárních operátorů v programování v C ++ je objekt na pravé straně operátoru vždy považován za argument kompilátoru.

Poté tato funkce vrátí výsledné komplexní číslo (objekt) do funkce main (), která se zobrazí na obrazovce.

I když tento výukový program obsahuje přetížení - operátory, binární operátory v programování v C ++ jako: +, *, <, + = atd. Lze přetížit podobným způsobem.

Zajímavé články...