Rappels
C++ est presque un sur-ensemble du C, tel qu’il est défini par la norme ANSI. Seules
quelques incompatibilités existent ; nous rappelons ici les principales. Par ailleurs,
C++ dispose, par rapport au C ANSI, d’un certain nombre de spécificités qui ne sont
pas véritablement axées sur la programmation orientée objet. Elles sont également
examinées ici.
Déclarations de fonctions
En C++, toute fonction utilisée dans un fichier source doit obligatoirement avoir fait
l’objet :
soit d’une déclaration sous forme d’un prototype (il précise à la fois le nom de la
fonction, le type de ses arguments éventuels et le type de sa valeur de retour),
comme dans cet exemple :
float fexp (int, double, char *) ;
soit d’une définition préalable au sein du même fichier source (ce dernier cas étant
d’ailleurs peu conseillé, dans la mesure où des problèmes risquent d’apparaître dès
lors qu’on sépare ladite fonction du fichier source en question).
En C, une fonction pouvait ne pas être déclarée (auquel cas on considérait, par défaut,
que sa valeur de retour était de type int), ou encore déclarée partiellement (sans fournir
le type de ses arguments), comme dans :
float fexp () ;
Fonctions sans arguments
En C++, une fonction sans argument se définit (au niveau de l’en-tête) et se déclare (au
niveau du prototype) en fournissant une « liste d’arguments vide » comme dans :
float fct () ;
En C, on pouvait indifféremment utiliser cette notation ou faire appel au mot-clé void,
comme dans :
float fct (void)
Fonctions sans valeur de retour
112
Précédent

- 113/398

Suivant