Opérateur d'addition de surcharge C ++

Opérateur d'addition de surcharge C ++

Vous avez peut-être entendu le terme «surcharge» dans la programmation. Mais, le concept de surcharge peut également être utilisé pour les opérateurs de programmation. La surcharge de l'opérateur ne fonctionne que pour les méthodes définies par l'utilisateur dans la programmation C ++. Les opérateurs sont spécifiés pour effectuer les opérations arithmétiques uniquement. Alors que la surcharge des opérateurs peut nous permettre de faire différentes tâches avec les opérateurs I.e., concaténation des cordes et bien plus encore.

En attendant, nous n'utiliserons la surcharge de l'opérateur d'addition que dans nos exemples de code C ++ dans cet article aujourd'hui. Alors, assurez-vous d'avoir un compilateur C ++ configuré sur votre système car nous avons travaillé sur l'Ubuntu 20.04 Système.

Exemple 1:

Après la connexion à partir de votre distribution Linux, essayez d'ouvrir l'application de la console à partir de la barre d'activité. Cela peut également être fait par l'utilisation du «ctrl + alt + t» à la touche au bureau Linux. Maintenant, l'application Console est lancée et vous devez générer un nouveau fichier C ++. Ce fichier sera utilisé pour y faire du code. Ainsi, l'instruction tactile sera utile pour en créer une.

Après cela, le fichier doit être ouvert dans un éditeur. Utilisez l'éditeur «GNU Nano» qui est déjà intégré dans Ubuntu 20.04 et peut être utilisé avec le mot-clé Nano avec le titre du document C ++. Les deux requêtes ont été démontrées à partir de l'image instantanée attachée.

Nous utilisons l'opérateur unary «++» dans cette illustration. La toute première chose à faire est d'ajouter le fichier d'en-tête avec le mot-clé «#include». Ajouter la ligne «Utilisation de Namespace Std» pour la syntaxe standard. Un cours factice a été déclaré avoir le nom de «test». La classe contient l'initialisation des variables de type entier privés i.e., nobs. Le constructeur de type public du test de classe a été défini qui a initialisé la valeur de la variable «num» à 5 car les constructeurs sont utilisés pour les initialisations directes.

L'opérateur «++» a été surchargé avec un opérateur vide intégré alors qu'il était utilisé comme préfixe. Il incréments la valeur de la variable «num» et remplace la dernière valeur par la nouvelle. La surcharge a été effectuée ici.

Sur la ligne suivante, nous avons initialisé une fonction définie par l'utilisateur nommé «Show» en utilisant l'instruction COUT standard. Le cout affiche la valeur incrémentée de la variable «num» par la surcharge de l'opérateur d'addition à l'aide de la méthode du préfixe. L'exécution a commencé à partir de la méthode principale () où nous avons créé un objet du test de classe factice comme «T». La création de l'objet «t» conduira à l'exécution du constructeur «test ()» et à l'initialisation de la valeur «num» variable I.e., 5, la ligne «++ t» incrémente la valeur de l'objet pour appeler la fonction opérateur ++ () pour surcharger l'opérateur d'addition. Après la surcharge de l'opérateur d'addition, la fonction show () a été appelée pour afficher la valeur surchargée sur le shell. La fonction principale se termine ici ainsi que le code du programme.

Le compilateur G ++ standard sera utilisé jusqu'à présent pour compiler la «surcharge.Fichier CC ”C ++ et le rendre sans erreur. La compilation est réussie et nous n'avons pas d'erreurs ou de messages en retour. L'exécution de ces codes de programmation ne nécessite aucun package spécial mais le «./un.Commandes out. Nous l'avons utilisé sur notre shell Ubuntu et obtenu le résultat 6 comme surcharge d'opérateur d'ajout appliqué sur la variable «num». C'est ainsi que la surcharge de l'opérateur d'addition peut être réalisée dans C ++ à l'aide de la méthode du préfixe de surcharge.

Exemple 2:

Commençons par un autre exemple pour surcharger l'opérateur d'addition dans le code de programmation C ++ tout en utilisant la distribution Linux I.e. Ubuntu 20.04 Système. Ainsi, nous avons mis à jour le document nommé «surcharge.CC ”en le lançant simplement au sein de l'éditeur. Votre première tâche consiste à ajouter l'en-tête de flux «IO» à la première ligne de code C ++ dans la «surcharge.Fichier CC ". Après cela, utilisez l'espace de noms «Std» comme standard. Sans ça, notre code n'est pas utile. Nous avons déclaré un «test» de classe factice comme nous l'avons fait auparavant dans l'illustration ci-dessus. Cette classe contient deux membres de données privés I.e., «R» et «I». Les deux variables sont de type entiers. Le «R» est utilisé pour une valeur réelle tandis que le «i» sera utilisé comme valeur imaginaire.

Après l'initialisation des membres de données, nous avons déclaré des fonctions de type public dans la classe. La toute première fonction est la fonction constructeur de la classe I.e. "Test". Ce constructeur initialise la variable «r» et «i» avec la valeur initiale de «0» car les constructeurs sont utilisés pour l'initialisation directe. Une autre fonction de surcharge de l'opérateur de classe est utilisée comme «opérateur de test» avec un signe «+» entre son nom et son paramètre.

Cette fonction de surcharge a pris le type constant de «Test» de classe «Objet» comme un argument paramétrique. Cette valeur d'objet serait stockée dans la variable d'objet de type de classe «Val». Cette variable d'objet «obj» est utilisée ici pour surcharger l'opérateur d'addition pour ajouter les anciennes valeurs de variable avec les nouveaux attribués par les objets I.e., r et moi.

La fonction de surcharge de l'opérateur sera appelée lorsque les objets seront concaténés dans la fonction principale et que la valeur résultante sera renvoyée à la fonction principale () à stocker dans le nouvel objet.

Voici la méthode définie par l'utilisateur nommé «Show ()». Il sera utilisé pour afficher la valeur réelle et la valeur variable imaginaire avec «I» à son début pour montrer qu'il est imaginaire alors qu'il n'est pas réel. L'instruction COUT est utilisée comme instruction de sortie standard ici jusqu'à présent. La définition et la déclaration de classe seront fermées ici après la création de ses membres de données et fonctions I.e., fonction du constructeur, fonction de surcharge, fonction définie par l'utilisateur.

La fonction Main () a été codée dans le fichier. La mise en œuvre et l'exécution réelles ont commencé à partir d'ici. Les objets «test» de classe ont été créés i.e., T1 et T2. Avec la première création d'objets, la fonction du constructeur «test» est appelée et exécutée. Les valeurs ont été transmises aux constructeurs et enregistrées aux variables «R» et «I». Le deuxième objet fait la même chose et de nouvelles valeurs ont été stockées dans la nouvelle adresse mémoire. Un autre objet «T3» du test de classe a été créé pour surcharger l'opérateur d'addition entre les deux objets précédemment créés I.e., T1 et T2.

Avec la création de cet objet T3, la fonction de surcharge de l'opérateur de la classe «test» pour l'opérateur d'addition a été exécutée. Les premières valeurs d'objet ont été résumées avec les valeurs du deuxième objet en utilisant la surcharge de l'opérateur «Ajout». Ici, vous devez comprendre que la première valeur du premier objet a été résumé avec la première valeur d'un deuxième objet et vice versa.

Le code entier global de C ++ pour la surcharge de l'opérateur d'addition a été affiché dans l'image ci-dessous. Enregistrez votre code avec Ctrl + S pour refléter les mises à jour sur le shell.

En retour, nous avons la sortie montrant le nombre réel et les nombres imaginaires résumés par la surcharge d'opérateur d'addition.

Conclusion

Dans cet article, nous avons discuté de l'utilisation de la surcharge de l'opérateur d'addition dans la programmation C ++. Nous avons utilisé les concepts des constructeurs, des fonctions de l'opérateur de surcharge, de la méthode principale et des objets pour le faire bien comprendre. Nous espérons que ce guide sera utile.