Petite question c++
Résolu/Fermé
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
-
Modifié par chabacha109 le 26/12/2010 à 14:22
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - 15 févr. 2011 à 13:06
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 - 15 févr. 2011 à 13:06
A voir également:
- Petite question c++
- Petite bete sur mon telephone ✓ - Forum Matériel & Système
- Petite amie virtuelle - Guide
- Petite majuscule word mac ✓ - Forum MacOS
- Dessin anime petite fille rousse - Forum Cinéma / Télé
- La fenetre actuelle est trop petite pour afficher correctement cette feuille - Forum Google Docs
3 réponses
Chris 94
Messages postés
50978
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 327
26 déc. 2010 à 02:15
26 déc. 2010 à 02:15
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 26/12/2010 à 12:08
Modifié par chabacha109 le 26/12/2010 à 12:08
merci :)
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
Modifié par chabacha109 le 26/12/2010 à 12:52
Modifié par chabacha109 le 26/12/2010 à 12:52
mes questions seront plus précise aujourd'hui:
class A
{
public:
void afficher();
};
void A::afficher()
{
cout<<"je suis le A";
}
class B:public A
{
public:
void afficher();
};
void B::afficher()
{
cout<<"je suis le B";
}
void main()
{
A a;
a.afficher();//il va afficher je suis a
B b;
b.afficher();//il va afficher je suis le b
}
//jusqu'à maintenant je suis d'accord avec le résultat,
le a est une instance de A , le b est une instance de B donc le résultat est évident :)
mais mon problème est la:
class A
{
public:
void xxx();
void afficher();
};
void A::xxx()
{
afficher();
}
void A::afficher()
{
cout<<"je suis le A"<<endl;
}
class B :public A
{
public:
void afficher();
};
void B::afficher()
{
cout<<"je suis le B"<<endl;
}
void main()
{
A a;
a.xxx();//ici il affiche je suis le A c'est normale il est une insance de A....
B b;
b.xxx();//ici mon probléme "je suis le A"
}
le b est déclaré comme une instance de la class B , et il déclanche la metode de A ????
je sait qu'il manque le mot clé virtual dans la classe de base virtual void afficher()
mais dans le premier version elle est sans "virtual" ,et marche bien :(
j'espère que mon question est claire
class A
{
public:
void afficher();
};
void A::afficher()
{
cout<<"je suis le A";
}
class B:public A
{
public:
void afficher();
};
void B::afficher()
{
cout<<"je suis le B";
}
void main()
{
A a;
a.afficher();//il va afficher je suis a
B b;
b.afficher();//il va afficher je suis le b
}
//jusqu'à maintenant je suis d'accord avec le résultat,
le a est une instance de A , le b est une instance de B donc le résultat est évident :)
mais mon problème est la:
class A
{
public:
void xxx();
void afficher();
};
void A::xxx()
{
afficher();
}
void A::afficher()
{
cout<<"je suis le A"<<endl;
}
class B :public A
{
public:
void afficher();
};
void B::afficher()
{
cout<<"je suis le B"<<endl;
}
void main()
{
A a;
a.xxx();//ici il affiche je suis le A c'est normale il est une insance de A....
B b;
b.xxx();//ici mon probléme "je suis le A"
}
le b est déclaré comme une instance de la class B , et il déclanche la metode de A ????
je sait qu'il manque le mot clé virtual dans la classe de base virtual void afficher()
mais dans le premier version elle est sans "virtual" ,et marche bien :(
j'espère que mon question est claire
chabacha109
Messages postés
268
Date d'inscription
samedi 11 décembre 2010
Statut
Membre
Dernière intervention
14 mai 2012
9
15 févr. 2011 à 13:06
15 févr. 2011 à 13:06
j'ai passer les examen et tous va bien :)