Rechercher : dans
Par :

Initialisation constructeur c++

Dernière réponse le 19 jan 2009 à 02:47:42 jean, le 18 jan 2009 à 22:11:30 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Firefox 3.0.5

Meilleures réponses pour « initialisation constructeur c++ » dans :
Les constructeurs et les destructeurs en langage C++ Voir La notion de constructeur Le constructeur est la fonction membre appelée automatiquement lors de la création d'un objet (en statique ou en dynamique). Cette fonction membre est la première fonction membre à être exécutée, il s'agit donc d'une...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Les fonctions en C++ : surcharge et paramètres par défaut. VoirLes fonctions en C++ : surcharge et paramètres par défaut. 1. La surcharge de fonctions et méthodes de classes, dont le constructeur 2. Utilisation des paramètres par défaut En C++, une même fonction ou méthode de classe peut être...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Java - Constructeurs VoirLe constructeur: une méthode particulière Pour instancier une classe, c'est-à-dire créer un objet à partir d'une classe, il s'agit d'utiliser l'opérateur new. En réalité l'opérateur new, lorsqu'il est utilisé, fait appel à une méthode spéciale de...
Les classes en langage C++ VoirLa notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...
Constructeur de copie VoirConstructeur de copie Le compilateur ne génère pas seulement un constructeur et un destructeur par défaut si l’utilisateur ne les a pas définis, il génère aussi un constructeur de copie qui est appelé chaque fois qu’une copie d’objet est réalisée en...

1

jean, le 18 jan 2009 à 22:16:40

En fait c'est pour mettre des valeurs par défaut pardon pas pour initialiser car ça fonctionne ça. ^^

Répondre à jean

2

 mamiemando, le 19 jan 2009 à 02:47:42

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

Répondre à mamiemando