Les fonctions membres peuvent être surchargées ; mais les fonctions membres ne peuvent surcharger que les autres fonctions membres de cette classe. Les fonctions membres d'une classe ne sont pas liées aux fonctions non membres ordinaires et aux fonctions déclarées dans d'autres classes, et elles ne peuvent pas être surchargées.
Les fonctions membres peuvent être surchargées
Les fonctions membres ne peuvent surcharger que les autres fonctions membres de cette classe. Les fonctions membres d'une classe ne sont pas liées aux fonctions non membres ordinaires et aux fonctions déclarées dans d'autres classes, et elles ne peuvent pas être surchargées. Les mêmes règles s'appliquent aux fonctions membres surchargées qu'aux fonctions ordinaires : le nombre et le type de paramètres formels de deux membres surchargés ne peuvent pas être exactement les mêmes. Le processus de correspondance de fonctions utilisé pour les appels aux fonctions surchargées non membres s'applique également aux appels aux fonctions membres surchargées.
Définir des fonctions membres surchargées
Pour illustrer la surcharge, deux membres surchargés de la classe Screen peuvent être donnés pour renvoyer un caractère spécifique à partir de la fenêtre. Parmi les deux membres surchargés, une version renvoie le caractère indiqué par le curseur actuel et l'autre renvoie le caractère à la ligne et à la colonne spécifiées :
class Screen { public: typedef std::string::size_type index; // return character at the cursor or at a given position char get() const { return contents[cursor]; } char get(index ht, index wd) const; // remaining members private: std::string contents; index cursor; index height, width; };
Comme pour toute fonction surchargée, fournissez le nombre et le type appropriés de paramètres réels pour choisir la version à exécuter :
Screen myscreen; char ch = myscreen.get();// calls Screen::get() ch = myscreen.get(0,0); // calls Screen::get(index, index)
Tutoriel recommandé : "Tutoriel vidéo c++"
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!