Declaration de variable dans un constructeur

Résolu
madhack
Messages postés
24
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
3834
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
20 octobre 2021
125
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
652
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
15 mai 2022
8
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