Operator primerjave preobremenitve C++ v

Operator Primerjave Preobremenitve C V



Preobremenitev operaterjev je ključni koncept v C++, ki vam omogoča doseganje funkcionalnosti vgrajenih operaterjev med delom z uporabniško definiranimi tipi podatkov. Operatorji za primerjavo v C++ so tisti, ki primerjajo dve vrednosti med seboj, kot so »==«, »!=«, »>«, »<«, »>=« in »<=«. Ta članek bo delil metode preobremenitve vseh teh šestih primerjalnih operaterjev v C++ v Ubuntu 20.04.

Primer št. 1: Preobremenitev operatorja »==« v C++:

Za preobremenitev operatorja »==« v C++ smo oblikovali naslednji razred C++:







Ime našega razreda C++ je ProductPrice. Znotraj tega razreda imamo zasebnega člana 'ceno'. Po tem imamo nekaj javnih članskih funkcij. Prva funkcija, imenovana »userInput«, vzame ceno izdelka kot vnos uporabnika. Nato imamo funkcijo za preobremenitev operatorja “==” v C++. Tej funkciji smo posredovali objekt razreda ProductPrice. Znotraj te funkcije imamo stavek »if«, ki vrne »true«, če sta ceni obeh izdelkov enaki, sicer pa »false«.



Da bi to preizkusili, imamo funkcijo gonilnika, prikazano na spodnji sliki:







V naši funkciji “main()” smo najprej ustvarili dva predmeta našega razreda. Nato smo poklicali funkcijo »userInput« z vsakim od dveh objektov enega za drugim, da vzamemo cene obeh izdelkov kot vnos uporabnika. Po tem imamo izjavo »if« za tiskanje sporočila, če sta ceni enaki, in drugega sporočila, če nista.

Ta program smo prevedli z naslednjim ukazom:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Nato smo ga izvedli s spodnjim ukazom:

$ . / ComparisonOperator

Po izvedbi te kode smo morali vnesti ceno prvega izdelka, kot je prikazano na naslednji sliki:

Nato smo morali vnesti ceno drugega izdelka, kot je prikazano na spodnji sliki:

Ker smo vnesli enake cene za oba izdelka, lahko v naslednjem izpisu vidimo, da je bil naš operator »==« uspešno preobremenjen.

Zdaj, da bi ga preizkusili za izjavo »drugo«, smo vnesli dve različni ceni izdelka, kot je prikazano na spodnji sliki:

Primer št. 2: Preobremenitev operatorja “!=” v C++:

Za preobremenitev operaterja “!=” v C++ smo oblikovali naslednji razred C++:

Ta program je zelo podoben našemu prvemu primeru. Edina razlika je v tem, da smo operator “==” povsod zamenjali z operatorjem “!=”.

Da bi to preizkusili, imamo funkcijo gonilnika, prikazano na spodnji sliki:

Poklicali smo funkcijo »userInput« v naši funkciji »main()« z vsakim od dveh predmetov enega za drugim, da vzamemo cene obeh izdelkov kot vnos uporabnika. Po tem imamo stavek »če« za tiskanje sporočila, če ceni nista enaki, in drugega sporočila, če sta.

Ko smo to kodo izvedli z dvema različnima cenama izdelkov, smo ugotovili, da je bil naš operator neenakosti uspešno preobremenjen, kot lahko vidite na naslednji sliki:

Zdaj, da bi ga preizkusili za izjavo »drugo«, smo vnesli dve podobni ceni izdelkov, kot je prikazano na spodnji sliki:

Primer št. 3: Preobremenitev operatorja »>« v C++:

Za preobremenitev operatorja »>« v C++ smo oblikovali naslednji razred C++:

Tudi ta program je podoben našim zgornjim primerom. Edina razlika je v tem, da smo operator “!=” povsod zamenjali z operatorjem “>”.

Da bi to preizkusili, imamo funkcijo gonilnika, prikazano na spodnji sliki:

Poklicali smo funkcijo »userInput« v naši funkciji »main()« z vsakim od dveh predmetov enega za drugim, da vzamemo cene obeh izdelkov kot vnos uporabnika. Po tem imamo stavek »če« za tiskanje sporočila, če je prva cena višja od druge, in še eno sporočilo, če ni.

Ko smo to kodo izvedli z dvema različnima cenama izdelkov, smo ugotovili, da je bil naš operator večje od uspešno preobremenjen, kot lahko vidite na naslednji sliki:

Zdaj, da bi ga preizkusili za izjavo »drugo«, smo vnesli dve podobni ceni izdelkov, kot je prikazano na spodnji sliki:

Primer št. 4: Preobremenitev operatorja “<” v C++:

Za preobremenitev operatorja “<” v C++ smo oblikovali naslednji razred C++:

Tudi ta program je podoben našim zgornjim primerom. Edina razlika je v tem, da smo operator “>” povsod zamenjali z operatorjem “<”.

Da bi to preizkusili, imamo funkcijo gonilnika, prikazano na spodnji sliki:

Poklicali smo funkcijo »userInput« v naši funkciji »main()« z vsakim od dveh predmetov enega za drugim, da vzamemo cene obeh izdelkov kot vnos uporabnika. Po tem imamo stavek »če« za tiskanje sporočila, če je prva cena nižja od druge, in še eno sporočilo, če ni.

Ko smo to kodo izvedli z dvema različnima cenama izdelkov, smo ugotovili, da je bil naš operater manj kot uspešno preobremenjen, kot lahko vidite na naslednji sliki:

Zdaj, da bi ga preizkusili za stavek »drugo«, smo znova vnesli dve različni ceni izdelka, vendar je tokrat cena prvega izdelka višja od cene drugega, kot je prikazano na spodnji sliki:

Primer št. 5: Preobremenitev operatorja »>=« v C++:

Za preobremenitev operatorja »>=« v C++ smo oblikovali naslednji razred C++:

To se nekoliko razlikuje od naših zgornjih primerov. Medtem ko smo tokrat preobremenili operator, imamo dva pogoja v stavku “if”, ločena z “||” simbol. To pomeni, da bo ta izjava preverila, ali je cena izdelka višja ali enaka drugi.

Da bi to preizkusili, imamo funkcijo gonilnika, prikazano na spodnji sliki:

Poklicali smo funkcijo »userInput« v naši funkciji »main()« z vsakim od dveh predmetov enega za drugim, da vzamemo cene obeh izdelkov kot vnos uporabnika. Po tem imamo stavek »če« za tiskanje sporočila, če je prva cena višja ali enaka drugi, in še eno sporočilo, če ni.

Ko smo to kodo izvedli z dvema različnima cenama izdelkov, smo ugotovili, da je bil naš operator večje ali enako uspešno preobremenjen, kot lahko vidite na naslednji sliki:

Zdaj, da bi ga preizkusili za izjavo »drugo«, smo vnesli prvo ceno izdelka nižjo od druge, kot je prikazano na spodnji sliki:

Primer št. 6: Preobremenitev operatorja “<=” v C++:

Po isti metodi kot v našem petem primeru smo preobremenili tudi operator “<=”, njegova koda pa je naslednja:

Rezultati izvajanja tega programa z različnimi vrednostmi so prikazani na spodnjih slikah:

Zaključek:

Ta članek je zelo dobro razložil, kako lahko preobremenite šest primerjalnih operaterjev v C++ v Ubuntu 20.04. Začeli smo s kratkim uvodom o preobremenitvi operatorjev, nato pa je bilo preobremenjenih vseh šest primerjalnih operatorjev v C++. Za predstavitev vseh teh metod smo uporabili isti uporabniško definiran razred. Ko boste šli skozi te metode, boste lahko preobremenili te primerjalne operatorje za kateri koli drug uporabniško definiran razred.