Methodes paramètres par défaut [Résolu]

Signaler
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
-
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
-
Bonjour,

Existe-il la possibilité de donner des valeurs par défaut à des paramètres de fonction ou méthodes ? (comme en pascal avec =nil)
Je m'explique :
Pour une classe j'ai besoin de deux constructeurs :
maClasse(string, int)
maClasse(string, int, string);
Puis je n'en faire qu'une du genre :
maClasse(string, int, string = nil)

merci d'avance

Simon

5 réponses

Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
Salut,

Oui.

je pense qu'en Pascal c'est pareil, les paramètres par défaut doivent être à la fin :

Class Toto {

  Toto(char *param1, int param2 = 8);
}

Pour l'appelant
Toto class1("test");
ou
Toto class2("test2", 5);
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
euh je ne sais pas NULL = 0 en C++.
on fait plutôt "pointeur NULL" que "pointeur 0", mais c'est pareil.

je ne suis pas sûre que nil soit identique à NULL. Essaie de poser la question sur le site Delphi.
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
Merci fregolo

Dans ce cas, est-ce que NULL en c++ est bien l'équivalent de nil en pascal ?


Simon
Messages postés
1284
Date d'inscription
mardi 28 octobre 2003
Statut
Contributeur
Dernière intervention
3 juillet 2015
13
merci

Simon
Messages postés
3829
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
8 janvier 2021
114
Petite remarque:
En C++, contrairement, au C, on préfère utiliser 0 plutôt que NULL.
Voir: http://0217021.free.fr/portfolio/axel.berardino/articles/null-en-cpp

0 est bien l'équivalent de "nil", à la différence qu'en Pascal, on ne peut attribuer un 0 à un pointeur. "nil" est donc considéré comme un mot clé en Pascal, mais pas en C/C++ (ou c'est juste une définition de macro).
Le principe derrière est strictement le même.

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]