Discussion:Programmation C++/Introduction

A propos de la terminologie:

Je cite: "la surdéfinition de fonctions (plusieurs fonctions portant le même nom se distinguent par le nombre et/ou le type de leurs paramètres),". Pour moi, il s'agit justement de la surcharge. En C++, "overloading" ou "overload" (litéralement "surcharge") sont utilisés dans le contexte de réutiliser le même nom de fonction au sein de la même portée (Stroustrup C++ programming language 3rd edition p.149/Standard ISO C++ 2003, Chapitre 13 "Overloading" 1er paragraphe). En ce qui concerne les fonctions membres virtuelles que l'on redéfinit dans des classes dérivées, on utilise le mot "override" (litéralement "outrepasser") (Stroustrup C++ programming language 3rd edition p.311/ISO Standard C++ 2003, Chapitre 10.3 "Virtual functions" 2nd paragraphe). Dans la traduction française de C++ Language 2nd Edition, le traducteur a utilisé le mot "surcharge" pour traduire les mots "overloading" et "overriding". En français, cela introduit une ambiguité entre les 2 concepts et il me semble que le mot "redéfinition" (voire surdéfinition qui tient plus du néologisme, mais qui est assez juste dans ce contexte) serait plus approprié dans le fait de rédéfinir une fonction virtuelle dans une classe dérivée.

Revenir à la page « Programmation C++/Introduction ».