Opérateur de comparaison de surcharge C ++

Opérateur de comparaison de surcharge C ++
La surcharge est le concept qui permet au programmeur spécifier plus d'une méthode de fonctionnalités différentes. Ce n'est pas seulement lié aux méthodes; Nous pouvons également surcharger les nombreux opérateurs tels que les opérateurs de comparaison. Les opérateurs sont les symboles qui effectuent les opérations sur les opérandes (les valeurs). La comparaison est lorsque vous comparez deux valeurs entre elles en utilisant les instructions de prise de décision. Surcharger l'opérateur de comparaison signifie définir plus d'une déclaration de prise de décision de comparaison. Nous effectuons une comparaison de surcharge sur les classes lorsqu'une classe est utilisée et nous définissons une condition dans la classe. En dehors de la classe, nous définissons également la même condition pour les objets. Cela surcharge l'opérateur. Sinon, le compilateur ne serait pas en mesure de gérer ces conditions.

Syntaxe de la méthode:
Return_type opérateur opérateur_symbol ()

La méthode pour un opérateur surchargé est définie un peu différemment. Il s'agit d'une méthode de type retour qui contient l'opérateur de mots avec l'Operator_Symbol que nous voulons surcharger.

Surcharger l'opérateur de comparaison

Il y a six opérateurs d'affectation et les six peuvent être surchargés. Ceux-ci sont appelés opérateurs de comparaison car ils comparent deux valeurs ou variables (qui stocke les valeurs). Lorsque la condition est satisfaite, l'opération suivante est effectuée. Il est très utile de surcharger les opérateurs lorsque nous devons comparer les valeurs les unes avec les autres en fonction de différentes conditions. Les six opérateurs de comparaison avec les fonctionnalités sont expliqués dans la discussion suivante.

1. < - L'opérateur inférieur à la condition suivante: si le premier entier est inférieur à l'autre, exécutez le corps.

2. > - L'opérateur supérieur à la condition suivante: si le premier entier est supérieur à la seconde, exécutez le corps.

3. <= - L'opérateur inférieur ou égal à l'opérateur compare la condition suivante: si le premier terme est inférieur ou égal à la seconde, exécutez le corps.

4. > = - Le plus grand ou égal à l'opérateur compare la condition suivante: si le premier terme est supérieur ou égal à la seconde, exécutez le corps.

5. == - Le double égal à vérifie si les deux entiers sont égaux ou non. Si oui, exécutez le corps. Sinon, passez à la déclaration suivante.

6. != - L'opérateur non égal évalue si les deux termes ne sont pas égaux. Si oui, exécutez le corps. Sinon, la condition devient fausse et l'instruction suivante est exécutée.

Nous comparons toutes les valeurs en utilisant les six opérateurs de comparaison par paires: =, == et !=.

Surcharger le < and <= Comparison Operators

Comparons les deux valeurs en utilisant le «<” and “<=” operators. Then, overload these operators.

Code:

#inclure
Utilisation de Namespace Std;
classe moins

privé :
numéro int;
public :
void input_0 ()
cin >> numéro;
opérateur INT < (Less x)

si (nombreretour 1;
autre
retour 0;

opérateur INT <= (Less x)

si (nombre<=x.number)
retour 1;
autre
retour 0;

;
int main()

Moins n1, n2;
couter<<"Please enter 1st number. ";
N1. input_0 ();
couter<<"Please enter 2nd number. ";
n2. input_0 ();
if (n1cout<<"n1 is less than n2. ";
sinon if (n1<=n2)
cout<<"n1 is less than or equal to n2. ";
autre
cout<<"n1 is not less than or equal to n2. ";
retour 0;

Dans ce code, incorporez la bibliothèque et l'espace de noms Std. Définir une classe «moins» car dans cet exemple, nous surchargez le < (less than) and >"Afin que l'utilisateur puisse insérer le numéro. Maintenant, surchargez le moins de (<) operator by defining the integer return type function as int operator <(). Within this function, specify an argument of the “Less” class. Next, apply the “if” condition. If the inserted number is less than “x.number”, return 1. Otherwise, return zero.

Surcharger le moins ou égal à (<=) operator by implementing the same steps that we used to overload the (<) operator. Apply the main() function. Inside this, create two objects - “n1” and “n2” - of the “Less” class. Furthermore, use “cout<<” to print a message and call the input_0() method to get the values. Again, execute the “cout<<” and call the same method for object “n2”. Now, compare the first and second numbers. If n1 < n2, execute the body of “if”. And if n1<= n2, execute the body of the “else if”. Otherwise, execute the “else”. This way, we overload the operators.

Sortir:

Veuillez saisir le 1er numéro. 34
Veuillez saisir le 2ème numéro. 223
N1 est inférieur à N2.

Surcharger les opérateurs> et> = comparaison

Discutons de la surcharge des opérateurs «>» et «> =» en exécutant le programme C ++.

Code:

#inclure
Utilisation de Namespace Std;
classe plus grande

privé :
numéro int;
public :
void input_0 ()
cin >> numéro;
opérateur int> (plus grand x)

if (nombre> x.nombre)
retour 1;
autre
retour 0;

opérateur int> = (plus grand x)

if (nombre> = x.nombre)
retour 1;
autre
retour 0;

;
int main()

Plus grand n1, n2;
couter<<"Please Enter 1st number. ";
N1. input_0 ();
couter<<"Please Enter 2nd number. ";
n2. input_0 ();
if (n1> n2)
cout<<"n1 is greater than n2. ";
else if (n1> = n2)
cout<<"n1 is greater than or equal to n2. ";
autre
cout<<"n1 is not greater than or equal to n2. ";
retour 0;

Au début, tapez #include et «Utilisation de Namespace STD». Après cela, créez une classe «plus grande» puisque nous surchargez les opérateurs> (supérieurs à) et> = (supérieur ou égal à) dans ce code. Définissez un membre de données «numéro» de la classe et définissez ce membre de données comme privé. Ensuite, créez une méthode Input_0 () pour obtenir les valeurs fournies par l'utilisateur. Cette fonction est définie pour être publique. Maintenant, l'utilisateur peut mentionner le numéro à l'aide de la commande "Cin >>". En appelant la méthode du type de retour entier et en passant un argument de la classe «plus grande» à cette méthode, nous pouvons surcharger l'opérateur supérieur à (>). Utilisez la condition «IF» pour retourner 1 si le «nombre» est supérieur à «x.nombre". Sinon, retournez 0.

Répétez cette procédure pour surcharger l'opérateur (> =). Après avoir appelé la méthode principale (), créez les objets de la classe «plus grande». Exécuter le «cout<<” statement and input_0() function for both objects of the class. Here, compare the input values. If the first condition is satisfied, the “if” body is implemented. If the second condition is satisfied, the “else-if” body is implemented. If no condition is satisfied, execute the “else” part.

Sortir:

Veuillez saisir le 1er numéro. 432
Veuillez saisir le 2ème numéro. 789
n1 n'est pas supérieur ou égal à n2.

Surcharger le == et != Opérateurs de comparaison

Implémenter le code pour vérifier si deux valeurs sont égales ou non en utilisant == et !=. Montrez également comment ces opérateurs sont surchargés.

Code:

#inclure
Utilisation de Namespace Std;
classe égale

privé :
numéro int;
public :
void get_input ()
cin >> numéro;
opérateur int == (égal x)

si (nombre == x.nombre)
retour 1;
autre
retour 0;

opérateur INT != (Égal x)

si (nombre!= x.nombre)
retour 1;
autre
retour 0;

;
int main()

Égal n1, n2;
couter<<"Please enter 1st number. ";
N1.Get_input ();
couter<<"Please enter 2nd number. ";
n2.Get_input ();
if (n1 == n2)
cout<<"n1 is equal to n2. ";
sinon if (n1!= n2)
cout<<"n1 is not equal to n2. ";
autre
cout<<"Sorry ";
retour 0;

Dans la première déclaration, incorporez la bibliothèque. Parallèlement à cela, utilisez le «Namespace Std». Une classe «égale» est créée pour surcharger le = (égal) et != (non égaux) Opérateurs. Définissez une variable «numéro» ayant un type int et définissez la méthode get_input (). Maintenant, utilisez "Cin >>" pour obtenir l'entier de l'utilisateur. Après cela, surchargez l'égalité (=) et non égal (!=) Opérateurs en utilisant les fonctions du type entier et définissez l'opérateur surchargé sur == et != dans le corps de ces fonctions. De plus, utilisez la méthode Main () pour créer les objets de la classe «égale». Obtenez les valeurs typées de l'utilisateur en appelant la fonction get_input () deux fois. Comparez ces valeurs pour vérifier si elles sont égales ou non égales. Nous n'avons pas besoin de surcharger les opérateurs égaux et non égaux car si les valeurs sont égales, un opérateur égal surchargé est exécuté. Sinon, le «sinon» affichera un message sur le terminal. Mais, pour expliquer le fonctionnement des deux méthodes ici, nous définissons les deux méthodes surchargées.

Sortir:

Veuillez saisir le 1er numéro. 45
Veuillez saisir le 2ème numéro. 45
n1 est égal à n2.

Conclusion

Ce guide montre une information sur ce que sont les opérateurs de comparaison et comment nous pouvons les surcharger en C++. La surcharge de l'opérateur de comparaison est si facile et simple, c'est comme surcharger une méthode. Mais ici, nous mentionnons le nom de l'opérateur surchargé avec le mot-clé «opérateur». Tous les opérateurs de comparaison sont surchargés dans les codes de ce guide.