deux classes et liste initialisation
Bonsoir à vous. J'ai besoin de votre aide. Regardons le code suivant:
Code:
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
| #include <iostream>
#include <string>
using namespace std;
class Etudiant
{
private:
string nom;
string prenom;
int age;
public:
Etudiant(string n, string p, int a):
nom(n),prenom(p),age(a){}
void affiche()
{ cout<<nom<<" === "<<prenom<<" === "<<age<<endl;}
};
class Ecole
{
private:
int nbr_de_classes;
Etudiant membre;
public:
Ecole(int ndc,string n,string p,int a):
nbr_de_classes(ndc),membre(n,p,a){}
void affiche()
{
cout<<nbr_de_classes<<endl;
membre.affiche();
}
};
int main()
{
cout<<"Tout ce passe bien"<<endl;
return 0;
} |
Pourquoi ce nouveau constructeur d'initialisation de la classe Ecole ne marche pas?:
Code:
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
| #include <iostream>
#include <string>
using namespace std;
class Etudiant
{
private:
string nom;
string prenom;
int age;
public:
Etudiant(string n, string p, int a):
nom(n),prenom(p),age(a){}
void affiche()
{ cout<<nom<<" === "<<prenom<<" === "<<age<<endl;}
};
class Ecole
{
private:
int nbr_de_classes;
Etudiant membre;
public:
Ecole(int ndc,Etudiant e):
nbr_de_classes(ndc),membre.nom(e.nom),membre.prenom(e.prenom),membre.age(e.age){}
void affiche()
{
cout<<nbr_de_classes<<endl;
membre.affiche();
}
};
int main()
{
cout<<"Tout ce passe bien"<<endl;
return 0;
} |
Merci à vous