Implémentation d'un opérateur virtuel
Le besoin d'un opérateur virtuel
Le dilemme des fonctions libres
Le problème se pose car l'opérateur
Une solution via l'indirection
Pour résoudre ce dilemme, envisagez d'ajouter une fonction membre virtuelle qui encapsule le comportement de sortie souhaité :
class MyClass {
public:
virtual void print(ostream& out) const; // Virtual output function
};
Opérateur personnalisé avec comportement virtuel
Avec la fonction de membre virtuel en place, vous pouvez définir l'opérateur
ostream& operatorCette approche maintient l'ordre correct des paramètres pour la fonction libre Operator
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3