Surcharger les opérateurs d'insertion de flux d'entrée et de sortie en C++
- Utilisations des opérateurs d’insertion de flux d’entrée et de sortie
- Étapes pour surcharger les opérateurs d’insertion de flux d’entrée et de sortie en C++
Vous pouvez effectuer une surcharge d’opérateur en C++. Cet article concerne les opérateurs d’insertion de flux d’entrée et de sortie.
Les opérateurs sont un moyen de créer des expressions en C++. Vous pouvez les surcharger, ce qui signifie que vous pouvez définir de nouvelles significations pour les opérateurs.
Les opérateurs d’insertion de flux d’entrée et de sortie lisent ou écrivent des informations à partir d’un fichier. En C++, l’opérateur d’insertion de flux <<
est utilisé pour la sortie, tandis que >>
est utilisé pour l’entrée.
Avant de commencer à surcharger ces opérateurs, nous devons d’abord comprendre ces points. cin
et cout
sont des objets des classes istream
et ostream
.
En tant que fonction globale, ces opérateurs doivent être surchargés. Et nous devons les ajouter en tant qu’amis si nous voulons leur donner accès aux informations privées des membres de la classe.
Il est important de noter qu’en cas de surcharge d’opérateur, l’objet sur le côté gauche de l’opérateur doit contenir l’opérateur s’il est surchargé en tant que membre.
Utilisations des opérateurs d’insertion de flux d’entrée et de sortie
Voici les utilisations des opérateurs d’insertion de flux d’entrées et de sorties :
- Pour insérer des données d’entrée dans un programme.
- Pour insérer des données de sortie dans un programme.
- Pour créer un canal qui peut être utilisé pour transmettre des données d’un processus à un autre.
Étapes pour surcharger les opérateurs d’insertion de flux d’entrée et de sortie en C++
Les étapes suivantes peuvent être suivies pour surcharger les opérateurs d’insertion de flux d’entrées et de sorties en C++ :
-
Créez une classe avec deux membres de données publics : flux d’entrée et de sortie.
-
Créez deux fonctions publiques, à savoir, la sortie
operator<<()
et l’entréeoperator>>()
. -
Dans les deux fonctions, créez une boucle qui parcourt chaque caractère de la chaîne d’entrée à l’aide de
getline()
et insérez-les dans la chaîne de sortie à l’aide deputchar()
. -
Dans les deux fonctions, utilisez
return 0;
pour terminer le programme.
Discutons d’un exemple.
#include <iostream>
using namespace std;
class Demo {
private:
int x;
int y;
public:
Demo() {
x = 0;
y = 0;
}
Demo(int x1, int y1) {
x = x1;
y = y1;
}
friend ostream &operator<<(ostream &output, const Demo &S) {
output << "x1 : " << S.x << " y1 : " << S.y;
return output;
}
};
int main() {
Demo S1(6, 2), S2(3, 19);
cout << "1st Value : " << S1 << endl;
cout << "2nd Value : " << S2 << endl;
return 0;
}
Production:
1st Value : x1 : 6 y1 : 2
2nd Value : x1 : 3 y1 : 19
Cliquez ici pour vérifier le fonctionnement du code mentionné ci-dessus.
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook