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