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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| class Modele;
class Vue
{
public:
Modele *m;
Vue(Modele *mm) // Constructeur avec un paramètre
{
m=mm;
}
void afficher();
};
class Modele
{
public:
int val,nb;
Vue *v[3];
Modele():val(5),nb(0){} // Constructeur sans paramètre (constructeur par défaut)
void attach(Vue *v_)
{
v[nb++]=v_;
}
void afficher()
{
v[0]->afficher();
}
};
void Vue::afficher(){cout<<m->val<<endl;}
void main()
{
Modele m;
m.val=8;
Vue vue1(&m);
m.attach(&vue1);
m.afficher();
} |