Initialisation constructeur c++
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
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
A voir également:
- Initialisation constructeur c++
- Constructeur automobile - Guide
- L'initialisation du rockstar games launcher a échoué ✓ - Forum Jeux PC
- GTA V a quitté inopinément - Forum Jeux PC
- Erreur d'initialisation de l'application adobe reader ✓ - Forum Téléchargement
- Laucher Rockstar - Forum Jeux PC
2 réponses
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 :
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
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