C ++ -ohjelma monimutkaisen luvun vähentämiseksi operaattorin ylikuormituksen avulla

Tässä esimerkissä opit vähentämään kompleksiluvut käyttämällä operaattorin ylikuormitusta operaattorille.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C ++ -ohjelmointiaiheista:

  • C ++ -luokat ja -esineet
  • C ++ -rakentajat
  • C ++ - käyttäjän ylikuormitus

Koska - on binäärioperaattori (operaattori, joka toimii kahdella operandilla), yksi operandeista tulisi välittää argumenttina operaattoritoiminnolle ja loput prosessit muistuttavat unaaristen operaattoreiden ylikuormitusta.

Esimerkki: Binaarinen operaattori ylikuormitettu vähentämään kompleksilukua

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

Tässä ohjelmassa luodaan kolme Complex-tyyppistä objektia ja käyttäjää pyydetään syöttämään todelliset ja kuvitteelliset osat kahdelle kompleksiluvulle, jotka on tallennettu kohteisiin c1ja c2.

Sitten lause result = c1 -c 2suoritetaan. Tämä lause kutsuu operaattoritoimintoa Complex operator - (Complex c2).

Kun result = c1 - c2se suoritetaan, c2välitetään argumenttina operaattoritoiminnolle.

Jos operaattori ylikuormittaa binäärioperaattoreita C ++ - ohjelmoinnissa, kääntäjä olettaa aina operaattorin oikealla puolella olevan objektin argumenttina.

Tämän jälkeen tämä toiminto palauttaa tuloksena olevan kompleksiluvun (objekti) funktioksi main (), joka näytetään näytöllä.

Vaikka tämä opetusohjelma sisältää - operaattoreiden ylikuormituksen, binääriset operaattorit C ++ - ohjelmoinnissa, kuten: +, *, <, + = jne., Voidaan ylikuormittaa samalla tavalla.

Mielenkiintoisia artikkeleita...