C++ ülekoormuse võrdlusoperaator sisse

C Ulekoormuse Vordlusoperaator Sisse



Operaatori ülekoormus on C++-s ülioluline kontseptsioon, mis võimaldab teil saavutada sisseehitatud operaatorite funktsionaalsuse, töötades samal ajal kasutaja määratud andmetüüpidega. C++ võrdlusoperaatorid on need, mis võimaldavad võrrelda kahte väärtust, näiteks “==”, “!=”, “>”, “<”, “>=” ja “<=”. See artikkel jagab meetodeid kõigi nende kuue võrdlusoperaatori ülekoormamiseks Ubuntu 20.04 C++-s.

Näide # 1: Operaatori '==' ülekoormamine C++ keeles:

Operaatori “==” ülekoormamiseks C++-s oleme loonud järgmise C++ klassi:







Meie C++ klassi nimi on ProductPrice. Selles klassis on meil eraliige “price”. Pärast seda on meil mõned avaliku liikme funktsioonid. Esimene funktsioon nimega 'userInput' võtab kasutaja sisendiks toote hinna. Seejärel on meil funktsioon C++ operaatori '==' ülekoormamiseks. Oleme sellele funktsioonile edastanud klassi ProductPrice objekti. Selles funktsioonis on meil „kui”-lause, mis tagastab „tõene”, kui kahe toote hinnad on võrdsed, vastasel juhul tagastab „false”.



Selle testimiseks on meil alloleval pildil näidatud draiveri funktsioon:







Funktsioonis 'main()' oleme esmalt loonud kaks oma klassi objekti. Seejärel kutsusime mõlema objektiga ükshaaval funktsiooni 'userInput', et võtta kasutajalt sisendiks kahe toote hinnad. Pärast seda on meil „kui”-avaldus, et printida teade, kui kaks hinda on võrdsed, ja teine ​​​​sõnum, kui mitte.

Kompileerisime selle programmi järgmise käsu abil:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Seejärel käivitasime selle alloleva käsu abil:

$ . / VõrdlusOperaator

Selle koodi täitmisel paluti meil sisestada esimese toote hind, nagu on näidatud järgmisel pildil:

Seejärel paluti meil sisestada teise toote hind, nagu on näidatud alloleval pildil:

Kuna sisestasime mõlemale tootele samad hinnad, näeme järgmises väljundis, et meie “==” operaator on edukalt üle koormatud.

Nüüd, et testida seda lause „muu” jaoks, sisestasime kaks erinevat toote hinda, nagu on näidatud alloleval pildil:

Näide # 2: Operaatori “!=” ülekoormamine C++ keeles:

Operaatori “!=” ülekoormamiseks C++-s oleme loonud järgmise C++ klassi:

See programm näeb välja väga sarnane meie esimesele näitele. Ainus erinevus on see, et oleme asendanud operaatori “==” operaatoriga “!=”.

Selle testimiseks on meil alloleval pildil näidatud draiveri funktsioon:

Oleme oma 'main()' funktsioonis kutsunud funktsiooni 'userInput' mõlema objektiga ükshaaval, et võtta kasutajalt sisendiks kahe toote hinnad. Pärast seda on meil „kui”-avaldus, et printida teade, kui need kaks hinda ei ole võrdsed, ja teine ​​​​sõnum, kui need on võrdsed.

Kui käivitasime selle koodi kahe erineva tootehinnaga, saime aru, et meie ebavõrdsuse operaator oli edukalt üle koormatud, nagu näete järgmiselt pildilt:

Nüüd, et testida seda lause „muu” jaoks, sisestasime kaks sarnast toote hinda, nagu on näidatud alloleval pildil:

Näide # 3: operaatori '>' ülekoormamine C++ keeles:

Operaatori “>” ülekoormamiseks C++-s oleme loonud järgmise C++ klassi:

See programm sarnaneb ka meie ülaltoodud näidetega. Ainus erinevus on see, et oleme kõikjal asendanud operaatori “!=” operaatoriga “>”.

Selle testimiseks on meil alloleval pildil näidatud draiveri funktsioon:

Oleme oma 'main()' funktsioonis kutsunud funktsiooni 'userInput' mõlema objektiga ükshaaval, et võtta kasutajalt sisendiks kahe toote hinnad. Pärast seda on meil „kui”-avaldus, et printida sõnum, kui esimene hind on suurem kui teine, ja teine ​​​​sõnum, kui mitte.

Kui käivitasime selle koodi kahe erineva tootehinnaga, saime aru, et meie suurem operaator oli edukalt üle koormatud, nagu näete järgmiselt pildilt:

Nüüd, et testida seda lause „muu” jaoks, sisestasime kaks sarnast toote hinda, nagu on näidatud alloleval pildil:

Näide # 4: Operaatori '<' ülekoormamine C++ keeles:

Operaatori “<” ülekoormamiseks C++-s oleme loonud järgmise C++ klassi:

See programm sarnaneb ka meie ülaltoodud näidetega. Ainus erinevus on see, et oleme kõikjal asendanud operaatori “>” operaatoriga “<”.

Selle testimiseks on meil alloleval pildil näidatud draiveri funktsioon:

Oleme oma 'main()' funktsioonis kutsunud funktsiooni 'userInput' mõlema objektiga ükshaaval, et võtta kasutajalt sisendiks kahe toote hinnad. Pärast seda on meil 'kui'-avaldus, et printida teade, kui esimene hind on teisest madalam, ja teine ​​​​sõnum, kui mitte.

Kui käivitasime selle koodi kahe erineva tootehinnaga, saime aru, et meie vähem kui operaator oli edukalt üle koormatud, nagu näete järgmiselt pildilt:

Nüüd, et testida seda lause „muu” jaoks, sisestasime uuesti kaks erinevat toote hinda, kuid seekord on esimese toote hind suurem kui teise, nagu on näidatud alloleval pildil:

Näide # 5: operaatori '>=' ülekoormamine C++ keeles:

Operaatori “>=” ülekoormamiseks C++-s oleme loonud järgmise C++ klassi:

See erineb veidi meie ülaltoodud näidetest. Seekord operaatorit üle koormates on „if”-lauses kaks tingimust, mis on eraldatud tähega „||” sümbol. See tähendab, et see väide kontrollib, kas toote hind on suurem või võrdne mõne teise tootega.

Selle testimiseks on meil alloleval pildil näidatud draiveri funktsioon:

Oleme oma 'main()' funktsioonis kutsunud funktsiooni 'userInput' mõlema objektiga ükshaaval, et võtta kasutajalt sisendiks kahe toote hinnad. Pärast seda on meil sõnum 'kui' sõnumi printimiseks, kui esimene hind on suurem või võrdne teisest, ja teine ​​​​sõnum, kui mitte.

Kui käivitasime selle koodi kahe erineva tootehinnaga, saime aru, et meie operaatorist suurem või võrdne väärtus on edukalt üle koormatud, nagu näete järgmiselt pildilt:

Nüüd, et testida seda lause „muu” jaoks, sisestasime esimese toote hinna teise hinnast madalamale, nagu on näidatud alloleval pildil:

Näide # 6: Operaatori '<=' ülekoormamine C++ keeles:

Järgides sama meetodit nagu meie viiendas näites, koormasime üle ka operaatori “<=” ja selle kood on järgmine:

Selle programmi erinevate väärtustega täitmistulemused on näidatud allolevatel piltidel:

Järeldus:

See artikkel selgitas väga hästi, kuidas saate Ubuntu 20.04 C++ kuus võrdlusoperaatorit üle koormata. Alustasime operaatorite ülekoormuse lühitutvustusega, seejärel olid kõik kuus võrdlusoperaatorit C++-s ülekoormatud. Oleme kõigi nende meetodite demonstreerimiseks kasutanud sama kasutaja määratud klassi. Kui olete need meetodid läbi teinud, saate need võrdlusoperaatorid üle koormata mis tahes muu kasutaja määratud klassi jaoks.