C++-ylikuormitusvertailuoperaattori sisään

C Ylikuormitusvertailuoperaattori Sisaan



Operaattoreiden ylikuormitus on keskeinen käsite C++:ssa, jonka avulla voit saavuttaa sisäänrakennettujen operaattoreiden toiminnallisuuden samalla kun työskentelet käyttäjän määrittämien tietotyyppien kanssa. Vertailuoperaattorit C++:ssa ovat niitä, joilla voidaan vertailla kahta arvoa keskenään, kuten '==', '!=', '>', '<', '>=' ja '<='. Tässä artikkelissa jaetaan menetelmät ylikuormittaa kaikki kuusi vertailuoperaattoria C++:ssa Ubuntu 20.04:ssä.

Esimerkki # 1: '=='-operaattorin ylikuormitus C++:ssa:

'=='-operaattorin ylikuormitusta varten C++:ssa olemme suunnitelleet seuraavan C++-luokan:







C++-luokkamme nimi on ProductPrice. Tällä luokalla meillä on yksityinen jäsen 'hinta'. Sen jälkeen meillä on joitain julkisia jäsentoimintoja. Ensimmäinen toiminto, nimeltään “userInput”, ottaa tuotteen hinnan syötteenä käyttäjältä. Sitten meillä on toiminto '=='-operaattorin ylikuormittamiseksi C++:ssa. Olemme siirtäneet tälle funktiolle ProductPrice-luokan objektin. Tässä funktiossa meillä on 'jos'-lause, joka palauttaa 'true', jos kahden tuotteen hinnat ovat samat, muuten 'false'.



Tämän testaamiseksi meillä on alla olevassa kuvassa näkyvä ohjaintoiminto:







'main()'-funktiossamme olemme ensin luoneet kaksi luokkamme objektia. Sitten olemme kutsuneet 'userInput'-funktiota kummankin kohteen kanssa yksitellen ottaaksemme kahden tuotteen hinnat syötteenä käyttäjältä. Sen jälkeen meillä on 'jos'-lause, jolla tulostetaan viesti, jos kaksi hintaa ovat samat, ja toinen viesti, jos ei.

Käänsimme tämän ohjelman seuraavalla komennolla:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Sitten suoritimme sen käyttämällä alla näkyvää komentoa:

$ . / ComparisonOperator

Tätä koodia suoritettaessa meitä pyydettiin syöttämään ensimmäisen tuotteen hinta seuraavan kuvan mukaisesti:

Sitten meitä pyydettiin syöttämään toisen tuotteen hinta alla olevan kuvan mukaisesti:

Koska annoimme molemmille tuotteille samat hinnat, voimme nähdä seuraavasta lähdöstä, että “==”-operaattorimme on ylikuormitettu onnistuneesti.

Testataksemme sitä 'muu'-lauseketta varten, syötimme kaksi eri tuotteen hintaa, kuten alla olevassa kuvassa näkyy:

Esimerkki # 2: '!='-operaattorin ylikuormitus C++:ssa:

'!='-operaattorin ylikuormitusta varten C++:ssa olemme suunnitelleet seuraavan C++-luokan:

Tämä ohjelma näyttää hyvin ensimmäiseltä esimerkiltämme. Ainoa ero on, että olemme korvanneet '=='-operaattorin '!='-operaattorilla kaikkialla.

Tämän testaamiseksi meillä on alla olevassa kuvassa näkyvä ohjaintoiminto:

Olemme kutsuneet 'userInput'-funktiota 'main()'-funktiossamme kummankin kohteen kanssa yksitellen ottaaksemme kahden tuotteen hinnat syötteenä käyttäjältä. Sen jälkeen meillä on 'jos'-lauseke, jolla tulostetaan viesti, jos kaksi hintaa eivät ole samat, ja toinen viesti, jos ne ovat.

Kun suoritimme tämän koodin kahdella eri tuotehinnalla, huomasimme, että epätasa-arvooperaattorimme oli ylikuormitettu onnistuneesti, kuten näet seuraavasta kuvasta:

Nyt testataksemme sitä 'muu'-lausekkeen suhteen, syötimme kaksi samanlaista tuotteen hintaa, kuten alla olevassa kuvassa näkyy:

Esimerkki 3: Operaattorin ylikuormitus C++:ssa:

'>'-operaattorin ylikuormitusta varten C++:ssa olemme suunnitelleet seuraavan C++-luokan:

Tämä ohjelma on myös samanlainen kuin yllä olevat esimerkit. Ainoa ero on, että olemme korvanneet '!='-operaattorin '>'-operaattorilla kaikkialla.

Tämän testaamiseksi meillä on alla olevassa kuvassa näkyvä ohjaintoiminto:

Olemme kutsuneet 'userInput'-funktiota 'main()'-funktiossamme kummankin kohteen kanssa yksitellen ottaaksemme kahden tuotteen hinnat syötteenä käyttäjältä. Sen jälkeen meillä on 'jos'-lauseke viestin tulostamiseksi, jos ensimmäinen hinta on suurempi kuin toinen, ja toinen viesti, jos ei.

Kun suoritimme tämän koodin kahdella eri tuotehinnalla, huomasimme, että suurempi kuin operaattorimme oli ylikuormitettu onnistuneesti, kuten näet seuraavasta kuvasta:

Nyt testataksemme sitä 'muu'-lausekkeen suhteen, syötimme kaksi samanlaista tuotteen hintaa, kuten alla olevassa kuvassa näkyy:

Esimerkki # 4: '<'-operaattorin ylikuormitus C++:ssa:

'<'-operaattorin ylikuormitusta varten C++:ssa olemme suunnitelleet seuraavan C++-luokan:

Tämä ohjelma on myös samanlainen kuin yllä olevat esimerkit. Ainoa ero on, että olemme korvanneet '>'-operaattorin '<'-operaattorilla kaikkialla.

Tämän testaamiseksi meillä on alla olevassa kuvassa näkyvä ohjaintoiminto:

Olemme kutsuneet 'userInput'-funktiota 'main()'-funktiossamme kummankin kohteen kanssa yksitellen ottaaksemme kahden tuotteen hinnat syötteenä käyttäjältä. Sen jälkeen meillä on 'jos'-lause, jolla tulostetaan viesti, jos ensimmäinen hinta on pienempi kuin toinen, ja toinen viesti, jos ei.

Kun suoritimme tämän koodin kahdella eri tuotehinnalla, huomasimme, että alle operaattorimme oli ylikuormitettu onnistuneesti, kuten näet seuraavasta kuvasta:

Nyt testataksemme sitä 'muu'-lauseketta varten, syötimme uudelleen kaksi eri tuotteen hintaa, mutta tällä kertaa ensimmäisen tuotteen hinta on suurempi kuin toisen, kuten alla olevasta kuvasta näkyy:

Esimerkki # 5: '>='-operaattorin ylikuormitus C++:ssa:

'>='-operaattorin ylikuormitusta varten C++:ssa olemme suunnitelleet seuraavan C++-luokan:

Tämä eroaa hieman yllä olevista esimerkeistämme. Vaikka ylikuormitamme operaattoria tällä kertaa, meillä on kaksi ehtoa 'if'-lauseessa erotettuna '||'-merkillä. symboli. Tämä tarkoittaa, että tämä lausunto tarkistaa, onko tuotteen hinta suurempi tai yhtä suuri kuin toisen tuotteen hinta.

Tämän testaamiseksi meillä on alla olevassa kuvassa näkyvä ohjaintoiminto:

Olemme kutsuneet 'userInput'-funktiota 'main()'-funktiossamme kummankin kohteen kanssa yksitellen ottaaksemme kahden tuotteen hinnat syötteenä käyttäjältä. Sen jälkeen meillä on 'jos'-lauseke viestin tulostamiseksi, jos ensimmäinen hinta on suurempi tai yhtä suuri kuin toinen, ja toinen viesti, jos ei.

Kun suoritimme tämän koodin kahdella eri tuotehinnalla, huomasimme, että operaattoria suurempi tai yhtä suuri arvomme on ylikuormitettu onnistuneesti, kuten näet seuraavasta kuvasta:

Nyt testataksemme sitä 'muu'-lauseketta varten, syötimme ensimmäisen tuotteen hinnan alle toisen hinnan, kuten alla olevassa kuvassa näkyy:

Esimerkki # 6: '<='-operaattorin ylikuormitus C++:ssa:

Noudattamalla samaa menetelmää kuin viidennessä esimerkissämme ylikuormitimme myös '<='-operaattorin, ja sen koodi on seuraava:

Tämän ohjelman suoritustulokset eri arvoilla näkyvät alla olevissa kuvissa:

Johtopäätös:

Tämä artikkeli selitti erittäin hyvin, kuinka voit ylikuormittaa kuusi vertailuoperaattoria C++:ssa Ubuntu 20.04:ssä. Aloitimme lyhyellä esittelyllä operaattorin ylikuormituksesta, sitten kaikki kuusi vertailuoperaattoria C++:ssa ylikuormitettiin. Olemme käyttäneet samaa käyttäjän määrittämää luokkaa kaikkien näiden menetelmien esittelyyn. Kun olet käynyt nämä menetelmät läpi, voit ylikuormittaa nämä vertailuoperaattorit mille tahansa muulle käyttäjän määrittämälle luokalle.