I dont completely understand this:
class Base { public: Base() { cout<<\"Base\" << endl; } virtual void call() {
With private inheritance, you lose the option to treat your derived object as an object of your base class.