Moștenire multinivel

Moștenirea poate fi în lanț: A → B → C. Clasa C moștenește atât din B cât și (indirect) din A.

class Animal {
public:
  void respira() { cout << "Respir." << endl; }
};

class Mamifer : public Animal {
public:
  void alapteaza() { cout << "Alapteaza." << endl; }
};

class Caine : public Mamifer {
public:
  void latra() { cout << "Ham!" << endl; }
};

Caine c;
c.respira();    // din Animal
c.alapteaza();  // din Mamifer
c.latra();      // propriu