slt j'ai ecrit 2 classe voiture et personne pour utiliser la classe voiture dans la classe personne, mais lors de l'execution ça n'a pas marché
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   class voiture
{
    int numero;
    char* modele;
 
public:
    voiture();
    voiture(int,char*);
    voiture (const voiture&);
    ~voiture();
    voiture& operator=(const voiture&);
 
    char* get_name();
 
};
class personne
{
    char * nom;
 
    voiture voiture_perso;
    public:
 
    personne();
    personne (char*,voiture);
 
 
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//.cpp
voiture::voiture()
{
    modele=new char(10);
 
}
voiture::voiture(int n,char* name):numero(n)
{
    modele=new char[strlen(name)+1];
    strcpy(modele,name);
 
}
 
voiture::voiture(const  voiture &orgnl)
{
    numero=orgnl.numero;
    strcpy(modele,orgnl.modele);
 
}
 
voiture::~voiture()
{
    delete  modele;
}
char * voiture::get_name()
{
    return modele;
}
personne::personne()
{
    nom=new char[10];
}
personne::personne(char* nm,voiture car):voiture_perso(car)
{
    cout<<"passe\n";
 
 
    nom=new char[strlen(nm)+1];
 
    strcpy(nom,nm);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
int main()
{
    voiture clio(2,"clio1");
    personne p1("toto",clio); // ça plante ici avt le lancement du constructeur
 
    return 0;
}
Si quelqu'un peut m'aider je lui en serais reconnaissant .
Merci.
ps:je suis obligé d'utiliser le char * (pas de string).