Bonjour!
Le concept de Class et de programmation objet est tout nouveau pour moi, c'est pour cela que je vous demande votre aide qui me sera bien precieuse![]()
Voila je souhaiterai utiliser un objet de type "Adresse" (une classe que j'ai defini) dans un objet de type "Batiment", vous l'aurez compri l'objet "Adresse" sera utilisé dans l'objet "Batiment" :
Voici mon code , ça serait plus clair
Code de la classe Adresse:
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 class Adresse{ int NumeroRue; char NomRue[20]; int CodePostal; char NomVille[20]; public: Adresse(){ //1er constructeur qui initialise les champs à 00 et à XXXXXXX NumeroRue=00; char NomRue[20] = "xxxxxx"; strcpy(this->NomRue,NomRue); CodePostal=0000; strcpy(NomVille,NomRue); } Adresse(int NumeroRue,char NomRue[20],int CodePostal,char NomVille[20]){ //2e constructeur qui initialise les champs aux valeurs definies pas l'utilisateur this->NumeroRue = NumeroRue; this->CodePostal = CodePostal; strcpy(this->NomRue,NomRue); strcpy(this->NomVille,NomVille); } void AfficherAdresse(){ cout<<NumeroRue<<" rue "<<NomRue<<". "<<CodePostal<<" - "<<NomVille<<endl; } /*On peut initialiser un objet Adresse de deux façons: soit: Adresse dupont; ce qui aura pour conséquence de creer une adresse dupont contenant des 00 et des xxxx soit: Adresse dupont(15,"liberation",33000,"bordeaux"); ce qui remplira l'objet dupont de type Adresse par les valeurs fournie (15,liberation,bordeaux...) */ };
et maintenant voici le code de la classe Batiment:
Voila le probleme vient evidement de mon cout AdresseBatiment.AfficherAdresse() ,
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 class Batiment{ Adresse AdresseBatiment; char Proprietaire[30]; float Valeur; public: //1er constructeur initialisateur à 0000 et xxxxx Batiment(){ Valeur=000000.000000; char Proprietaire[30] = "xxxxxx"; strcpy(this->Proprietaire,Proprietaire); } void AfficherInfosBatiment(){ cout<<"Adresse: "<<AdresseBatiment.AfficherAdresse()<<endl; cout<<"Proprietaire: "<<Proprietaire<<endl; cout<<"Valeur: "<<Valeur<<endl; } };
dans mon main j'ai fais un
je m'attends a ce que mon programme m'affiche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Batiment A; A.AfficherInfosBatiment();
00 rue xxxxxxxxx. 0000 - xxxxxxxxx
xxxxxxx
0000000.000000
alors qu'il fait une erreur de compilation
la solution est certainement evidente mais comprenez moi, je ne sais pas grand chose des classes.
Alors je fais comment pour afficher l'adresse?
Partager