Création
d'entreprise
Posez votre question Signaler

Initialisation constructeur c++

jean - Dernière réponse le 19 janv. 2009 à 02:47
Bonjour,
Je suis en train d'apprendre le c++ et je rencontre un leger problème avec l'initialisation dans un constructeur.
Voici mon constructeur dans le .cpp
CuveRect::CuveRect(char *_nomfluide, double _longueur, double _largeur,double _hauteur, double _niveaufluide)
{
nomfluide = _nomfluide;
longueur = _longueur;
largeur = _largeur;
hauteur = _hauteur;
niveaufluide = _niveaufluide;
}
Et le voici dans le .h j'ai un peu bidouiller donc ça ne fonctionne pas et je vois plus trop quoi essayer d'autre pour trouver la bonne maniere de proceder:
CuveRect(char *nomfluide = "biere", double longueur = 3, double largeur =2 , double hauteur = 8, double niveaufluide = 0);
Si vous pouviez m'aider ce serait cool, merci
Lire la suite 

Initialisation constructeur c++ »

2 réponses
Réponse
+2
moins plus
Afin de différencier un header C++ d'un header C je te conseille plutôt d'utiliser l'extension .hpp.

Pour initialiser les attributs d'une classe il y a une syntaxe plus adéquate :
class pouet_t{
  protected:
    int x;
    char y;
    double z;
  public:
    pouet_t(int x0 = 0,char y ='a', double z = 0):
      x(x0),y(y0),z(z0)
    {
      // Code du constructeur, éventuellement vide
    }
};

Si tu souhaites implémenter le constructeur dans le .cpp et non dans le .hpp il ne faut mettre les valeurs par défaut que dans le .hpp. Dans le .cpp les valeurs par défaut ne doivent pas être reportées.

Bonne chance
Ajouter un commentaire
Réponse
+0
moins plus
En fait c'est pour mettre des valeurs par défaut pardon pas pour initialiser car ça fonctionne ça. ^^
Ajouter un commentaire
Ce document intitulé « initialisation constructeur c++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?