J'ai besoin de quelques réponses aux questions de base. Je suis perdu à nouveau. :(Fonction virtuelle et classes
q1 - Cette déclaration est valide:
Whenever we define the function to be pure virtual function, this means that function has no body.
q2 - Et quel est le concept de liaison dynamique, je veux dire si le compilateur optimise le code à l'aide VTables et VPTRs alors comment est-il d'exécution? ? polymorphisme
q3 - Quels sont vTables eT VPTRs et comment leurs tailles changent
q4 - S'il vous plaît voir ce code:
class base
{
public:
virtual void display()
{
cout<<"Displaying from base";
}
};
class derived:public base
{
public:
void display(){cout<<"\nDisplaying from derived";}
};
int main()
{
base b,*bptr;
derived d;
bptr=&b;
bptr->display();
bptr=&d;
bptr->display();
}
Sortie:
Displaying from base
Displaying from derieved
S'il vous plaît quelqu'un peut répondre à pourquoi un pointeur de classe de base peut pointer la fonction membre d'une classe dérivée et vice-versa est impossible, pourquoi?
Ça sent comme les devoirs. –
Vous devez corriger l'extrait de code. –
Parce que ce sont des devoirs, alors au lieu de demander aux gens de fournir les réponses, dites-nous quelles sont vos propres réponses (ou ébauches/réponses partielles), puis posez des questions ou demandez aux gens de commenter ou de corriger votre réponse. – ChrisW