L'appel de fonction virtuelle de la classe dérivée de la classe de base constructeur?

Im essayant d'accomplir la même que celle qui est décrite dans la question précédente:

appel de fonction virtuel de la classe de base

Mais, ma vraie question est:

Que si f() est le constructeur de la classe de Base? Qui g() sera appelée? Je ne sais pas si je fais mal, mais dans mon programme, il me semble que c'est le contraire.

Prenant les mêmes variables à partir de la question précédente, un code qui affiche un tel

comportement devrait ressembler à ceci:

Class Base

{   

    Base(){g();};

    virtual void g(){//Do some Base related code;}

};



Class Derived : public Base

{   

    Derived(){};

    virtual void g(){//Do some Derived related code};

};



int main()

{

    Derived newDerived;

    return 0;  

}

Mise à jour:

Merci à Lui.

Il m'a fourni une page qui contient toutes les informations relatives à ce sujet.

Ill vous laisser savoir le lien ici:

parashift.com/c++-faq-lite/étrange héritage.html#faq-23.6

Pouvez-vous montrer un exemple de code qui présente ce comportement?

OriginalL'auteur Jesufer Vn | 2011-07-03