Les valeurs par défaut se mettent dans le prototype de la fonction.
Cela parce que c'est l'appelant qui est chargé de placer ces valeurs (de façon invisible).
Comme il n'a pas accès à la définition, il doit donc les connaître via le prototype.
Les mettre dans la définition revient à faire un nouveau prototype instaurant des valeurs par défaut, et ne s'appliquant qu'au code 'voyant' cette définition.
Il faut maintenant enlever les valeurs par défaut de la définition, car elles ne peuvent être spécifiées qu'une fois chacune.
Code :
- class CTest{
- public:
- CTest(int n1=1, int n2=2, int n3=3); //déclaration/prototype du constructeur
- };
- CTest::CTest(int n1, int n2, int n3) //définition du constructeur
- {}
|
À noter que les noms d'arguments sont optionnels dans le prototype.
Message édité par Musaran le 20-01-2003 à 04:38:15
---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone