Bonjour -- >Constructeur en c++
abdel
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour
j'ai un petit probleme avec les constructeurs :
comment fonctionne les constructeurs
si vous pouvez me donner un exemple ou un site ou c'est tres
bien explique
merci a tous ceux qui repondrons
j'ai un petit probleme avec les constructeurs :
comment fonctionne les constructeurs
si vous pouvez me donner un exemple ou un site ou c'est tres
bien explique
merci a tous ceux qui repondrons
A voir également:
- Bonjour -- >Constructeur en c++
- Constructeur automobile - Guide
- Adresse mac constructeur - Guide
- Constructeur agrandissement maison - Guide
- Garantie constructeur Lenovo - Forum Matériel & Système
- BLUETECH un site constructeur ? - Forum TV & Vidéo
5 réponses
slt,
Ta question n'est pas assez précise pour un post dans un forum, que ne comprends tu pas en ce qui concerne les constructeurs ?
Cherche dans les supports de cours de CCM.
En gros, un constructeur c'est la première fonction associée à ton objet qui est appelée à son instanciation, c donc là que tu fais les allocations et les initialisations nécessaires, etc..
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
Ta question n'est pas assez précise pour un post dans un forum, que ne comprends tu pas en ce qui concerne les constructeurs ?
Cherche dans les supports de cours de CCM.
En gros, un constructeur c'est la première fonction associée à ton objet qui est appelée à son instanciation, c donc là que tu fais les allocations et les initialisations nécessaires, etc..
@++
Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?
Salut.
Ba oui, evidemment... Le problème ne viens pas vraiment du constructeur, mais de l'appel avec les paramètres par défaut !
si tu fait :
CPersonnes a().
Le compilo doit prendre quel constructeur ?
CPersonnes();
ou
CPersonnes(char *n=0, char *p=0, char *d=0);
Donc pour résoudre ton problème, il suffit de faire :
CPersonnes(char *n, char *p=0, char *d=0);
Moralité: toujours croire ce que le compilateur dit (surtout qd le message est aussi clair).
Ba oui, evidemment... Le problème ne viens pas vraiment du constructeur, mais de l'appel avec les paramètres par défaut !
si tu fait :
CPersonnes a().
Le compilo doit prendre quel constructeur ?
CPersonnes();
ou
CPersonnes(char *n=0, char *p=0, char *d=0);
Donc pour résoudre ton problème, il suffit de faire :
CPersonnes(char *n, char *p=0, char *d=0);
Moralité: toujours croire ce que le compilateur dit (surtout qd le message est aussi clair).
Bonjour,
Je ne suis pas expert du C++ mais j'ai trouvé un truc pour bien
comprendre les constructeurs/destructeurs.
En cour de développement, n'hésitez pas à placer des [ cout ]
à l'intérieur du/des constructeurs.
ex:
Lupin
Je ne suis pas expert du C++ mais j'ai trouvé un truc pour bien
comprendre les constructeurs/destructeurs.
En cour de développement, n'hésitez pas à placer des [ cout ]
à l'intérieur du/des constructeurs.
ex:
cout >> "Constructeur numero 1 en action" >> endl; cout >> "Destructeur numero1 en action" >> endl;
Lupin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'ai une question un peux plus,précise au sujet des constructeur, dans les classes dérivée...(j'espère sincèrement que tu as une réponse...) J'ai une classe mère et une classe qui en hérite et tout ce passe à merveille, à coté de ça, j'ai une autre classe mère et la classe fille qui en hérite et mon constructeur par défaut dans ma classe fille n'est pas accepté par le compilateur, or, j'ai suivi exactelent le même protocle que pour la première.... Le compilateur me dit qu'il y un appel ambigus et qu'il y a définition de plusieurs constructeurs par défaut dans ma classe mère...
j'en suis déjà à plusieurs heures (voir jour) de recherche et un peux d'aide ne me ferrait pas de mal je pense... C'est probablement une bêtise mais ça bloque...
Je joint,
1. les messages d'erreur du compilateur
2. le code (.h) de mes deux classes.
1.Erreur compilateur:
warning C4520: 'CPersonnes' : multiple default constructors specified
error C2668: 'CPersonnes::CPersonnes' : ambiguous call to overloaded function
2.Code:
#ifndef _CPERSONNES_H_
#define _CPERSONNES_H_
#define VISUAL
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef VISUAL
#include <iostream.h>
#endif
const int l_nom=60;
const int l_pre=60;
const int l_nai=11;
#define NUM unsigned int
class CPersonnes
{
friend ostream& operator<<(ostream& s, const CPersonnes& P);
protected:
char *nom;
char *prenom;
char *naissance;
public:
CPersonnes();
CPersonnes(char *n=0, char *p=0, char *d=0);
CPersonnes(const CPersonnes& P);
virtual ~CPersonnes();
//get set
char* getNom() const {return nom;}
char* getPrenom() const {return prenom;}
char* getNaissance() const {return naissance;}
void setNom(const char *n);
void setPrenom(const char *p);
void setNaissance(const char *d);
//methode classe
virtual void affiche() const;
};
class CMembrePersonnel:public CPersonnes
{
//friend ostream& operator<<()
private:
NUM numperso;
public:
CMembrePersonnel():CPersonnes()
{
setNumperso(0);
}
CMembrePersonnel(char *n, char *p, char *d, NUM nu):CPersonnes(n, p, d)
{
setNumperso(nu);
}
CMembrePersonnel( const CPersonnes& P, const CMembrePersonnel& M): CPersonnes(P)
{
setNumperso(M.getNumperso());
}
//virtual~CMembrePersonnel(void){;}
//get set
getNumperso() const {return numperso;}
setNumperso(const NUM n){numperso=n;}
//methode classe
void affiche() const;
};
#endif