Les éléments suivants sont C++ déclarations de fonction et serait typiquement dans l'en-tête (.h ou .hpp) fichier. Ces déclarations particulières n'ont pas de code. Le code est dans la définition montrée plus loin ci-dessous.
int sum(int a, int b);
int sum(int a, int b, int c);
int sum(int a, int b, int c, int d);
int sum(int a, int b, int c, int d, int e);
Les quatre fonctions ont au-dessus du même nom, mais le compilateur C++ appellera celui dont la signature paramètre correspond à celui du code d'appel. Le but d'une déclaration est de dire au compilateur quel est le type de retour et la signature de paramètre d'une fonction. Si plus d'une fonction a le même nom mais diffère dans sa signature de paramètre, elle est appelée surchargée. Ceci est une fonctionnalité C++ non présente dans C. Notez que le type de retour ne peut pas être utilisé pour différencier les fonctions surchargées. Voici les définitions (implémentations) des fonctions surchargées et qui se trouvent généralement dans le fichier de module (.cpp ou .cc ou .cxx). C'est là le code exécutable se trouve entre les accolades {} qui entourent le bloc fonctionnel:
int sum(int a, int b)
{
return (a + b);
}
int sum(int a, int b, int c)
{
return (a + b + c);
}
int sum(int a, int b, int c, int d)
{
return (a + b + c + d);
}
int sum(int a, int b, int c, int d, int e)
{
return (a + b + c + d + e);
}
Exemple d'utilisation:
std::cout << sum(3, 4, 5) << std::endl;
invoqueront le code pour la deuxième fonction surchargée énumérés ci-dessus qui prend trois int
paramètres.
semble être un devoir. –
non, 3 ou plus si peut hehe. : D btw oui je l 'ai googlé mais je pense que stackoverflow va me faire comprendre ceci plus vite: D. –
En fait, "prototype de fonction" est plus un terme C. En C++, nous disons simplement "déclaration de fonction". Le standard interne C++ établit une distinction claire entre les déclarations et les définitions. – sellibitze