Exploration des tables de fonctions virtuelles sous héritage virtuel
Héritage virtuel simple
Examinons d’abord un cas sans fonction virtuelle explicite :
#include <iostream>
struct BaseVirt
{
void afficher() { std::cout << "BaseVirt::afficher()\n"; }
int donnee_base = 100;
};
struct Derivee : virtual public BaseVirt
{
void methode() { std::cout << "Derivee::methode( ...
Publié le 4 septembre à 23h10
Analyse compilationnelle du modèle objet C++
Pour observer concrètement la disposition mémoire, nous utilisons l'option de compilation GCC -fdump-lang-class.
Considérons le code suivant :
class ClasseBase {
public:
ClasseBase() {}
virtual ~ClasseBase() {}
private:
int mem;
};
En compilant avec la commande :
g++ -O0 -std=c++11 -fdump-lang-class test.cpp
Un fichier décrivant l ...
Publié le 13 juin à 21h40