#include class unePersonne { protected: char* nom; public: unePersonne(char* n="une personne") : nom(n) {}; public: char* sonNom() { return nom; }; }; // version 2 : héritage multiple AVEC classe virtuelle // =================================================== class unEtudiant : virtual public unePersonne { protected: char* cursus; public: unEtudiant(char* n="un étudiant", char* c="un cursus") : unePersonne(n), cursus(c) {}; public: char* sonCursus() { return cursus; }; }; class unSportif : virtual public unePersonne { protected: char* sport; public: unSportif(char* n="un sportif", char* s="un sport") : unePersonne(n), sport(s) {}; public: char* sonSport() { return sport; }; }; class unEtudiantSportif : public unEtudiant, public unSportif { public: unEtudiantSportif(char* n="un étudiant sportif", char* c="un cursus", char* s="un sport") : unEtudiant(n, c), unSportif(n, s), unePersonne(n) {}; };