Operador de comparació de sobrecàrrega de C++ a

Operador De Comparacio De Sobrecarrega De C A



La sobrecàrrega d'operadors és un concepte crucial en C++ que us permet assolir la funcionalitat dels operadors integrats mentre treballeu amb tipus de dades definits per l'usuari. Els operadors de comparació en C++ són els que hi ha per comparar dos valors entre si, com ara '==', '!=', '>', '<', '>=' i '<='. Aquest article compartirà els mètodes per sobrecarregar els sis operadors de comparació en C++ a Ubuntu 20.04.

Exemple # 1: sobrecàrrega de l'operador '==' en C++:

Per sobrecarregar l'operador '==' en C++, hem dissenyat la següent classe de C++:







El nom de la nostra classe C++ és ProductPrice. Dins d'aquesta classe, tenim un 'preu' de membre privat. Després d'això, tenim algunes funcions públiques de membres. La primera funció, anomenada 'userInput', pren el preu del producte com a entrada de l'usuari. Aleshores, tenim la funció per sobrecarregar l'operador '==' en C++. Hem passat un objecte de la classe ProductPrice a aquesta funció. Dins d'aquesta funció, tenim una declaració 'si' que retornarà 'true' si els preus dels dos productes són iguals, en cas contrari 'fals'.



Per provar-ho, tenim la funció del controlador que es mostra a la imatge següent:







A la nostra funció 'main()', primer hem creat dos objectes de la nostra classe. Aleshores, hem anomenat la funció 'userInput' amb cadascun dels dos objectes un per un per prendre els preus dels dos productes com a entrada de l'usuari. Després d'això, tenim una declaració 'si' per imprimir un missatge si els dos preus són iguals i un altre missatge si no.

Hem compilat aquest programa amb l'ordre següent:



$ g++ ComparisonOperator.cpp –o ComparisonOperator

Aleshores, l'hem executat amb l'ordre que es mostra a continuació:

$ . / Operador de comparació

En executar aquest codi, se'ns va demanar que introduïm el preu del primer producte tal com es mostra a la imatge següent:

A continuació, se'ns va demanar que introduïm el preu del segon producte tal com es mostra a la imatge següent:

Com que hem introduït els mateixos preus per als dos productes, podem veure a la sortida següent que el nostre operador '==' s'ha sobrecarregat correctament.

Ara, per provar-ho per a la declaració 'else', hem introduït dos preus de productes diferents, tal com es mostra a la imatge següent:

Exemple # 2: sobrecàrrega de l'operador “!=' en C++:

Per sobrecarregar l'operador “!=' en C++, hem dissenyat la següent classe de C++:

Aquest programa s'assembla molt al nostre primer exemple. L'única diferència és que hem substituït l'operador “==” per l'operador “!=' a tot arreu.

Per provar-ho, tenim la funció del controlador que es mostra a la imatge següent:

Hem anomenat la funció 'userInput' a la nostra funció 'main()' amb cadascun dels dos objectes un per un per prendre els preus dels dos productes com a entrada de l'usuari. Després d'això, tenim una declaració 'si' per imprimir un missatge si els dos preus no són iguals i un altre missatge si ho són.

Quan vam executar aquest codi amb dos preus de productes diferents, ens vam adonar que el nostre operador de desigualtat s'havia sobrecarregat correctament, com podeu veure a la imatge següent:

Ara, per provar-ho per a la declaració 'else', hem introduït dos preus de productes similars, tal com es mostra a la imatge següent:

Exemple # 3: sobrecàrrega de l'operador '>' en C++:

Per sobrecarregar l'operador '>' en C++, hem dissenyat la següent classe de C++:

Aquest programa també és similar als nostres exemples anteriors. L'única diferència és que hem substituït l'operador '!=' per l'operador '>' a tot arreu.

Per provar-ho, tenim la funció del controlador que es mostra a la imatge següent:

Hem anomenat la funció 'userInput' a la nostra funció 'main()' amb cadascun dels dos objectes un per un per prendre els preus dels dos productes com a entrada de l'usuari. Després d'això, tenim una declaració 'si' per imprimir un missatge si el primer preu és més gran que l'altre i un altre missatge si no.

Quan vam executar aquest codi amb dos preus de productes diferents, ens vam adonar que el nostre operador major que s'havia sobrecarregat correctament, com podeu veure a la imatge següent:

Ara, per provar-ho per a la declaració 'else', hem introduït dos preus de productes similars, tal com es mostra a la imatge següent:

Exemple # 4: sobrecàrrega de l'operador '<' en C++:

Per sobrecarregar l'operador '<' en C++, hem dissenyat la següent classe de C++:

Aquest programa també és similar als nostres exemples anteriors. L'única diferència és que hem substituït l'operador '>' per l'operador '<' a tot arreu.

Per provar-ho, tenim la funció del controlador que es mostra a la imatge següent:

Hem anomenat la funció 'userInput' a la nostra funció 'main()' amb cadascun dels dos objectes un per un per prendre els preus dels dos productes com a entrada de l'usuari. Després d'això, tenim una declaració 'si' per imprimir un missatge si el primer preu és menor que l'altre i un altre missatge si no.

Quan vam executar aquest codi amb dos preus de productes diferents, ens vam adonar que el nostre operador de menys que s'havia sobrecarregat correctament, com podeu veure a la imatge següent:

Ara, per provar la declaració 'else', hem tornat a introduir dos preus de productes diferents, però aquesta vegada, el preu del primer producte és més gran que el segon, tal com es mostra a la imatge següent:

Exemple # 5: sobrecàrrega de l'operador '>=' en C++:

Per sobrecarregar l'operador '>=' a C++, hem dissenyat la següent classe de C++:

Això és lleugerament diferent dels nostres exemples anteriors. Mentre sobrecarreguem l'operador aquesta vegada, tenim dues condicions dins de la declaració 'if' separades pel '||' símbol. Vol dir que aquesta afirmació comprovarà si el preu d'un producte és superior o igual a un altre.

Per provar-ho, tenim la funció del controlador que es mostra a la imatge següent:

Hem anomenat la funció 'userInput' a la nostra funció 'main()' amb cadascun dels dos objectes un per un per prendre els preus dels dos productes com a entrada de l'usuari. Després d'això, tenim una declaració 'si' per imprimir un missatge si el primer preu és més gran o igual que l'altre i un altre missatge si no.

Quan vam executar aquest codi amb dos preus de productes diferents, ens vam adonar que el nostre major o igual a l'operador s'ha sobrecarregat correctament, com podeu veure a la imatge següent:

Ara, per provar-ho per a la declaració 'else', hem introduït el preu del primer producte menys que el segon, tal com es mostra a la imatge següent:

Exemple # 6: sobrecàrrega de l'operador '<=' en C++:

Seguint el mateix mètode que el nostre cinquè exemple, també hem sobrecarregat l'operador '<=' i el seu codi és el següent:

Els resultats d'execució d'aquest programa amb diferents valors es mostren a les imatges següents:

Conclusió:

Aquest article va explicar molt bé com es poden sobrecarregar els sis operadors de comparació en C++ a Ubuntu 20.04. Vam començar amb una breu introducció de la sobrecàrrega d'operadors, després es van sobrecarregar els sis operadors de comparació en C++. Hem utilitzat la mateixa classe definida per l'usuari per demostrar tots aquests mètodes. Un cop hàgiu passat per aquests mètodes, podreu sobrecarregar aquests operadors de comparació per a qualsevol altra classe definida per l'usuari.