Critique de la Surcharge en C++
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 1
Critique de la Surcharge en C++
La surcharge des opérateurs a été critiquée parce qu'elle peut surprendre le lecteur d'un programme, en autorisant le programmeur à donner à un même opérateur des fonctionnalités subtilement différentes en fonction des types de leurs opérandes. L'utilisation en C++ de l'opérateur « << » est un (mauvais) exemple caractéristique : l'expression
retournera le double de la valeur de a (sans modifier a) si a est une variable entière, mais si a est un flot de sortie, alors cela déposera « 1 » dedans (et donc modifiera a).
Cette critique peut être étendue aux langages à objets (du modèle objet avec Classes) : la redéfinition d'une méthode permet au programmeur d'en modifier la sémantique ; aucune preuve formelle n'est applicable pour éviter ce problème.
- Code:
a << 1
retournera le double de la valeur de a (sans modifier a) si a est une variable entière, mais si a est un flot de sortie, alors cela déposera « 1 » dedans (et donc modifiera a).
Cette critique peut être étendue aux langages à objets (du modèle objet avec Classes) : la redéfinition d'une méthode permet au programmeur d'en modifier la sémantique ; aucune preuve formelle n'est applicable pour éviter ce problème.
Napoléon- Admin
-
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7661
Date d'inscription : 19/03/2007
Feuille de personnage
Capacité linguistique:
(999/1000)
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|