Maison >développement back-end >C++ >Comment puis-je personnaliser la sortie de ma classe C à l'aide de la surcharge d'opérateurs ?

Comment puis-je personnaliser la sortie de ma classe C à l'aide de la surcharge d'opérateurs ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-20 09:23:15591parcourir

How Can I Customize the Output of My C   Class Using Operator Overloading?

Personnalisation de la sortie avec surcharge d'opérateur pour les classes C

Considérez une classe C personnalisée, myclass, que vous avez créée. Pour activer la sortie de valeurs telles que des entiers ou des nombres à virgule flottante lors de l'utilisation de cout << x, où x est une instance de maclasse, vous pouvez utiliser la surcharge d'opérateurs.

Pour surcharger l'opérateur d'insertion, <<, pour votre classe, suivez ces étapes :

  1. Déclarez une fonction ami dans la définition de myclass. Cette fonction surchargera le << et prenez deux arguments : une référence ostream et une référence à une instance de myclass.
  2. Dans la fonction ami, modifiez la référence ostream pour afficher la valeur souhaitée à partir de l'instance myclass.

Voici un exemple qui génère un entier :

struct myclass {
    int i;
};

std::ostream &operator<<(std::ostream &os, myclass const &m) {
    return os << m.i;
}

int main() {
    myclass x(10);

    std::cout << x;
    return 0;
}

Pour les valeurs flottantes, modifiez l'instruction de sortie dans l'opérateur<< fonctionner en conséquence. En implémentant cette surcharge, vous pourrez personnaliser la sortie de vos instances myclass selon vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn