Programare Orientată Obiect
Moștenire multiplă
O clasă poate moșteni din mai multe clase de bază simultan.
class Zburator {
public:
void zboara() { cout << "Zbor!" << endl; }
};
class Inotator {
public:
void inoata() { cout << "Inot!" << endl; }
};
class Rata : public Zburator, public Inotator {
public:
void macane() { cout << "Mac mac!" << endl; }
};
Rata r;
r.zboara(); // din Zburator
r.inoata(); // din Inotator
r.macane();Problema Diamond: Dacă două clase de bază moștenesc din aceeași clasă, există ambiguitate. Rezolvare: moștenire virtuală (
virtual public Base).