Declaration de variable dans un constructeur

Résolu
madhack Messages postés 23 Date d'inscription lundi 28 novembre 2016 Statut Membre Dernière intervention 27 avril 2017 - Modifié le 13 avril 2017 à 15:36
 madhack - 16 avril 2017 à 17:02
Bonjour,
dans le cours que je suis une classe se developpe comme suit :
classe Duree
{
   public : 
     Duree(int heures, int minutes, int secondes);

   private :
     int m_heures;
     int m_minutes;
     int m_secondes;
};


et j'aimerai savoir si il est possible "d'initialiser" comme suit :

classe Duree
{
   public : 
     Duree(int heures,minutes,secondes);

   private :
     int m_heures, m_minutes, m_secondes;
};


Merci

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié le 13 avril 2017 à 17:05
Bonjour.

Dans les deux cas tu n'initialises rien du tout. Tu ne fais que déclarer.
Si tu as des soucis de syntaxe, teste et regarde ce que ça donne. Le compilateur est là pour ça !

(La syntaxe de la fonction est fausse, celle des attributs est bonne, mais il est plus "propre" de déclarer un attribut par ligne).

PS: "class" et non "classe". Pense à mettre des balises de codes quand tu postes, sous la forme "<code cpp> // ton code < /code>"


Améliorer votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 11
13 avril 2017 à 19:33
Bonjour,
classe Duree
{
   public : 
     //Duree(int heures,minutes,secondes); // NON: le type de chaque paramètre doit être indiqué
     Duree(int heures,int minutes,int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes) {}
   private :
     int m_heures, m_minutes, m_secondes; // OUI: on peut 'factoriser' le type pour déclarer des champs
};
0
bonjour et merci beaucoup
Il me s'emblais avoir utiliser les balises pourtant.
Donc dans les méthodes ont doit développer les paramètres et il est plus "propre" et lisible de le faire également pour les attributs.
Et oui désolé j'aurai du tester dans le compilateur. La prochaine fois je prendrais plus de temps pour essayer de répondre à mes questions par mes propres moyens.
Merci pour vos réponses, j'avoue avoir encore un peu de mal avec le vocabulaires méthode, fonctions, attribut, variable, champs initialisation, déclaration, paramètre.
A bientôt.
0
Rejoignez-nous