C++ Overbelastningssammenligningsoperatør i

C Overbelastningssammenligningsoperator I



Operatøroverbelastning er et avgjørende konsept i C++ som lar deg oppnå funksjonaliteten til de innebygde operatørene mens du arbeider med brukerdefinerte datatyper. Sammenligningsoperatorer i C++ er de som er der for å sammenligne to verdier med hverandre, for eksempel “==”, “!=”, “>”, “<”, “>=”, og “<=”. Denne artikkelen vil dele metodene for å overbelaste alle seks av disse sammenligningsoperatørene i C++ i Ubuntu 20.04.

Eksempel # 1: Overbelastning av '=='-operatøren i C++:

For å overbelaste '=='-operatoren i C++, har vi designet følgende C++-klasse:







Navnet på C++-klassen vår er ProductPrice. Innenfor denne klassen har vi en privat medlemspris. Etter det har vi noen offentlige medlemsfunksjoner. Den første funksjonen, kalt 'userInput', tar produktprisen som input fra brukeren. Deretter har vi funksjonen for å overbelaste '=='-operatoren i C++. Vi har sendt et objekt av klassen ProductPrice til denne funksjonen. Innenfor denne funksjonen har vi en 'hvis'-setning som vil returnere 'sann' hvis prisene på de to produktene er like, ellers 'false'.



For å teste dette har vi driverfunksjonen vist på bildet nedenfor:







I vår 'main()'-funksjon har vi først laget to objekter i klassen vår. Deretter har vi kalt 'userInput'-funksjonen med hvert av de to objektene en etter en for å ta prisene på de to produktene som input fra brukeren. Etter det har vi en 'hvis'-erklæring for å skrive ut en melding hvis de to prisene er like og en annen melding hvis ikke.

Vi kompilerte dette programmet ved å bruke følgende kommando:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Deretter utførte vi det ved å bruke kommandoen vist nedenfor:

$ . / ComparisonOperator

Etter å ha utført denne koden, ble vi bedt om å angi prisen på det første produktet som vist i følgende bilde:

Deretter ble vi bedt om å angi prisen på det andre produktet som vist på bildet nedenfor:

Siden vi skrev inn de samme prisene for begge produktene, kan vi se i følgende utdata at vår '=='-operatør har blitt overbelastet.

Nå, for å teste den for 'else'-erklæringen, skrev vi inn to forskjellige produktpriser, som vist på bildet nedenfor:

Eksempel # 2: Overbelastning av '!='-operatøren i C++:

For å overbelaste '!='-operatøren i C++, har vi designet følgende C++-klasse:

Dette programmet ligner veldig på vårt første eksempel. Den eneste forskjellen er at vi har erstattet “==”-operatoren med “!=”-operatoren overalt.

For å teste dette har vi driverfunksjonen vist på bildet nedenfor:

Vi har kalt 'userInput'-funksjonen i vår 'main()'-funksjon med hvert av de to objektene ett etter ett for å ta prisene på de to produktene som input fra brukeren. Etter det har vi en 'hvis'-erklæring for å skrive ut en melding hvis de to prisene ikke er like, og en annen melding hvis de er det.

Da vi utførte denne koden med to forskjellige produktpriser, fant vi ut at vår ulikhetsoperatør hadde blitt overbelastet, som du kan se fra følgende bilde:

Nå, for å teste den for 'else'-erklæringen, skrev vi inn to lignende produktpriser, som vist på bildet nedenfor:

Eksempel # 3: Overbelastning av '>'-operatøren i C++:

For å overbelaste '>'-operatøren i C++, har vi designet følgende C++-klasse:

Dette programmet ligner også på eksemplene ovenfor. Den eneste forskjellen er at vi har erstattet “!=”-operatoren med “>”-operatoren overalt.

For å teste dette har vi driverfunksjonen vist på bildet nedenfor:

Vi har kalt 'userInput'-funksjonen i vår 'main()'-funksjon med hvert av de to objektene ett etter ett for å ta prisene på de to produktene som input fra brukeren. Etter det har vi en 'hvis'-erklæring for å skrive ut en melding hvis den første prisen er høyere enn den andre og en annen melding hvis ikke.

Da vi utførte denne koden med to forskjellige produktpriser, fant vi ut at vår større enn-operatør hadde blitt overbelastet, som du kan se fra følgende bilde:

Nå, for å teste den for 'else'-erklæringen, skrev vi inn to lignende produktpriser, som vist på bildet nedenfor:

Eksempel # 4: Overbelastning av '<'-operatøren i C++:

For å overbelaste «<»-operatøren i C++, har vi designet følgende C++-klasse:

Dette programmet ligner også på eksemplene ovenfor. Den eneste forskjellen er at vi har erstattet '>'-operatoren med '<'-operatoren overalt.

For å teste dette har vi driverfunksjonen vist på bildet nedenfor:

Vi har kalt 'userInput'-funksjonen i vår 'main()'-funksjon med hvert av de to objektene ett etter ett for å ta prisene på de to produktene som input fra brukeren. Etter det har vi en 'hvis'-erklæring for å skrive ut en melding hvis den første prisen er lavere enn den andre og en annen melding hvis ikke.

Da vi utførte denne koden med to forskjellige produktpriser, fant vi ut at vår mindre enn-operatør hadde blitt overbelastet, som du kan se fra følgende bilde:

Nå, for å teste det for 'else'-utsagnet, skrev vi inn to forskjellige produktpriser igjen, men denne gangen er prisen på det første produktet høyere enn det andre, som vist på bildet nedenfor:

Eksempel # 5: Overbelastning av '>='-operatøren i C++:

For å overbelaste '>='-operatoren i C++, har vi designet følgende C++-klasse:

Dette er litt forskjellig fra eksemplene ovenfor. Mens vi overbelaster operatøren denne gangen, har vi to forhold i 'hvis'-setningen atskilt med '||' symbol. Det betyr at denne erklæringen vil sjekke om prisen på et produkt er større enn eller lik et annet.

For å teste dette har vi driverfunksjonen vist på bildet nedenfor:

Vi har kalt 'userInput'-funksjonen i vår 'main()'-funksjon med hvert av de to objektene ett etter ett for å ta prisene på de to produktene som input fra brukeren. Etter det har vi en 'hvis'-erklæring for å skrive ut en melding hvis den første prisen er større enn eller lik den andre og en annen melding hvis ikke.

Da vi utførte denne koden med to forskjellige produktpriser, fant vi ut at vår større enn eller lik operatøren har blitt overbelastet, som du kan se fra følgende bilde:

Nå, for å teste den for 'else'-erklæringen, skrev vi inn den første produktprisen mindre enn den andre, som vist på bildet nedenfor:

Eksempel # 6: Overbelastning av '<='-operatøren i C++:

Etter samme metode som vårt femte eksempel, overbelastet vi også '<='-operatoren, og koden er som følger:

Utførelsesresultatene for dette programmet med forskjellige verdier er vist på bildene nedenfor:

Konklusjon:

Denne artikkelen forklarte veldig godt hvordan du kunne overbelaste de seks sammenligningsoperatørene i C++ i Ubuntu 20.04. Vi startet med en kort introduksjon av operatøroverbelastning, deretter ble alle de seks sammenligningsoperatørene i C++ overbelastet. Vi har brukt den samme brukerdefinerte klassen for å demonstrere alle disse metodene. Når du har gått gjennom disse metodene, vil du kunne overbelaste disse sammenligningsoperatorene for enhver annen brukerdefinert klasse.