Petite question c++
Résolu
chabacha109
Messages postés
268
Date d'inscription
Statut
Membre
Dernière intervention
-
chabacha109 Messages postés 268 Date d'inscription Statut Membre Dernière intervention -
chabacha109 Messages postés 268 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
msg supprimé
msg supprimé
A voir également:
- Petite question c++
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Petite croix snap ✓ - Forum Snapchat
- Petite majuscule word ✓ - Forum Word
- Mettre en petites majuscules - Forum Bureautique
- Petite vague clavier - Forum Clavier
3 réponses
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