#include <iostream> using namespace std; class Premiere { public: Premiere() { cout << "ctor premiere" << endl; } virtual ~Premiere() { cout << "dtor premiere" << endl; } void salut() { cout << "salut" << endl; } virtual void bonjour() { cout << "bonjour" << endl; } }; class Seconde : public Premiere { public: Seconde() { cout << "ctor seconde" << endl; } virtual ~Seconde() { cout << "dtor seconde" << endl; } void salut() { cout << "salutations" << endl; } virtual void bonjour() { cout << "bien le bonjour" << endl; } }; int main() { Premiere p; Seconde *s = new Seconde; p.salut(); p.bonjour(); (*s).salut(); (*s).bonjour(); Seconde *ps = s; ps->salut(); ps->bonjour(); Premiere *pp = ps; pp->salut(); pp->bonjour(); delete s; return 0; }