C++ pārslodzes salīdzināšanas operators iekšā

C Parslodzes Salidzinasanas Operators Ieksa



Operatora pārslodze ir būtiska C++ koncepcija, kas ļauj sasniegt iebūvēto operatoru funkcionalitāti, strādājot ar lietotāja definētiem datu tipiem. Salīdzināšanas operatori C++ ir tie, kas ir paredzēti, lai salīdzinātu divas vērtības, piemēram, “==”, “!=”, “>”, “<”, “>=” un “<=”. Šajā rakstā tiks aprakstītas visu sešu šo salīdzināšanas operatoru pārslodzes metodes Ubuntu 20.04 versijā C++.

1. piemērs: Operatora “==” pārslodze programmā C++:

Lai pārslogotu operatoru “==” C++, mēs esam izstrādājuši šādu C++ klasi:







Mūsu C++ klases nosaukums ir ProductPrice. Šajā klasē mums ir privātā dalībnieka “cena”. Pēc tam mums ir dažas valsts biedru funkcijas. Pirmā funkcija ar nosaukumu “userInput” ņem produkta cenu kā lietotāja ievadīto informāciju. Pēc tam mums ir funkcija “==” operatora pārslodzei C++. Mēs esam nodevuši šai funkcijai klases ProductPrice objektu. Šīs funkcijas ietvaros mums ir paziņojums “ja”, kas atgriezīs “true”, ja abu produktu cenas ir vienādas, pretējā gadījumā “false”.



Lai to pārbaudītu, mums ir draivera funkcija, kas parādīta zemāk esošajā attēlā:







Funkcijā “main()” mēs vispirms esam izveidojuši divus mūsu klases objektus. Pēc tam mēs esam izsaukuši funkciju “userInput” ar katru no diviem objektiem pa vienam, lai kā lietotāja ievadi ņemtu divu produktu cenas. Pēc tam mums ir paziņojums “ja”, lai izdrukātu ziņojumu, ja abas cenas ir vienādas, un citu ziņojumu, ja nē.

Mēs apkopojām šo programmu, izmantojot šādu komandu:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Pēc tam mēs to izpildījām, izmantojot tālāk norādīto komandu:

$ . / SalīdzinājumsOperators

Pēc šī koda izpildīšanas mums tika lūgts ievadīt pirmā produkta cenu, kā parādīts šajā attēlā:

Pēc tam mums tika lūgts ievadīt otrā produkta cenu, kā parādīts zemāk esošajā attēlā:

Tā kā abiem produktiem ievadījām vienādas cenas, sekojošā izvadā redzam, ka mūsu “==” operators ir veiksmīgi pārslogots.

Tagad, lai pārbaudītu to paziņojumam “cits”, mēs ievadījām divas dažādas produktu cenas, kā parādīts tālāk esošajā attēlā.

2. piemērs: Operatora “!=” pārslodze programmā C++:

Lai pārslogotu operatoru “!=” C++, mēs esam izstrādājuši šādu C++ klasi:

Šī programma ļoti atgādina mūsu pirmo piemēru. Vienīgā atšķirība ir tā, ka mēs visur esam aizstājuši operatoru “==” ar operatoru “!=”.

Lai to pārbaudītu, mums ir draivera funkcija, kas parādīta zemāk esošajā attēlā:

Mēs esam izsaukuši funkciju “userInput” savā funkcijā “main()” ar katru no diviem objektiem pa vienam, lai kā lietotāja ievadīto informāciju ņemtu divu produktu cenas. Pēc tam mums ir paziņojums “ja”, lai izdrukātu ziņojumu, ja abas cenas nav vienādas, un citu ziņojumu, ja tās ir.

Kad mēs izpildījām šo kodu ar divām dažādām produktu cenām, mēs sapratām, ka mūsu nevienlīdzības operators ir veiksmīgi pārslogots, kā redzams no šī attēla:

Tagad, lai pārbaudītu to paziņojumam “cits”, mēs ievadījām divas līdzīgas produktu cenas, kā parādīts tālāk esošajā attēlā:

3. piemērs: Operatora “>” pārslodze programmā C++:

Lai pārslogotu operatoru “>” C++, mēs esam izstrādājuši šādu C++ klasi:

Šī programma ir līdzīga mūsu iepriekš minētajiem piemēriem. Vienīgā atšķirība ir tā, ka mēs visur esam aizstājuši operatoru “!=” ar operatoru “>”.

Lai to pārbaudītu, mums ir draivera funkcija, kas parādīta zemāk esošajā attēlā:

Mēs esam izsaukuši funkciju “userInput” savā funkcijā “main()” ar katru no diviem objektiem pa vienam, lai kā lietotāja ievadīto informāciju ņemtu divu produktu cenas. Pēc tam mums ir paziņojums “ja”, lai izdrukātu ziņojumu, ja pirmā cena ir lielāka par otru, un citu ziņojumu, ja nē.

Kad mēs izpildījām šo kodu ar divām dažādām produktu cenām, mēs noskaidrojām, ka mūsu lielākais operators ir veiksmīgi pārslogots, kā redzams no šī attēla:

Tagad, lai pārbaudītu to paziņojumam “cits”, mēs ievadījām divas līdzīgas produktu cenas, kā parādīts tālāk esošajā attēlā:

4. piemērs: “<” operatora pārslodze programmā C++:

Lai pārslogotu operatoru “<” C++, mēs esam izstrādājuši šādu C++ klasi:

Šī programma ir līdzīga mūsu iepriekš minētajiem piemēriem. Vienīgā atšķirība ir tā, ka mēs visur esam aizstājuši operatoru “>” ar operatoru “<”.

Lai to pārbaudītu, mums ir draivera funkcija, kas parādīta zemāk esošajā attēlā:

Mēs esam izsaukuši funkciju “userInput” savā funkcijā “main()” ar katru no diviem objektiem pa vienam, lai kā lietotāja ievadīto informāciju ņemtu divu produktu cenas. Pēc tam mums ir paziņojums “ja”, lai izdrukātu ziņojumu, ja pirmā cena ir mazāka par otru, un citu ziņojumu, ja nē.

Kad mēs izpildījām šo kodu ar divām dažādām produktu cenām, mēs noskaidrojām, ka mūsu mazāk nekā operators ir veiksmīgi pārslogots, kā redzams attēlā:

Tagad, lai pārbaudītu apgalvojumu “cits”, mēs vēlreiz ievadījām divas dažādas produktu cenas, taču šoreiz pirmā produkta cena ir lielāka nekā otrā, kā parādīts attēlā zemāk:

5. piemērs: Operatora “>=” pārslodze programmā C++:

Lai pārslogotu operatoru “>=” C++, mēs esam izstrādājuši šādu C++ klasi:

Tas nedaudz atšķiras no iepriekš minētajiem piemēriem. Šoreiz pārslogojot operatoru, paziņojumā “if” ir divi nosacījumi, kas atdalīti ar “||” simbols. Tas nozīmē, ka šis paziņojums pārbaudīs, vai preces cena ir lielāka vai vienāda ar citu.

Lai to pārbaudītu, mums ir draivera funkcija, kas parādīta zemāk esošajā attēlā:

Mēs esam izsaukuši funkciju “userInput” savā funkcijā “main()” ar katru no diviem objektiem pa vienam, lai kā lietotāja ievadīto informāciju ņemtu divu produktu cenas. Pēc tam mums ir paziņojums “ja”, lai izdrukātu ziņojumu, ja pirmā cena ir lielāka vai vienāda ar otru, un citu ziņojumu, ja nē.

Kad mēs izpildījām šo kodu ar divām dažādām produktu cenām, mēs sapratām, ka mūsu vērtība, kas ir lielāka vai vienāda ar operatoru, ir veiksmīgi pārslogota, kā redzams attēlā:

Tagad, lai pārbaudītu to paziņojumam “cits”, mēs ievadījām pirmā produkta cenu, kas ir mazāka par otro, kā parādīts zemāk esošajā attēlā:

6. piemērs: Operatora “<=” pārslodze programmā C++:

Izmantojot to pašu metodi, kā mūsu piektajā piemērā, mēs arī pārslogojām operatoru “<=”, un tā kods ir šāds:

Šīs programmas izpildes rezultāti ar dažādām vērtībām ir parādīti zemāk esošajos attēlos:

Secinājums:

Šajā rakstā ir ļoti labi izskaidrots, kā jūs varat pārslogot sešus salīdzināšanas operatorus programmā C++ Ubuntu 20.04. Mēs sākām ar īsu ievadu par operatora pārslodzi, pēc tam visi seši salīdzināšanas operatori C++ tika pārslogoti. Mēs esam izmantojuši vienu un to pašu lietotāja definētu klasi, lai demonstrētu visas šīs metodes. Izejot šīs metodes, jūs varēsit pārslogot šos salīdzināšanas operatorus jebkurai citai lietotāja definētai klasei.