Hi I have some question about multi inheritance see the code snippet below
class Window{
public:
virtual void drawBorder() = 0;
virtual void prompt() =0;
};
class BorderedWindow:public virtual Window{
public:
void drawBorder(){}
};
class WindowWithMenu : public virtual Window{
public:
void prompt(){}
};
class CustomWindow : public BorderedWindow, public WindowWithMenu{
public:
void draw(){drawBorder(); prompt();}
};
My questions are
- why does derived class not have to implement all pure virtual functions declared in base class? Because it is virtual inheritance?
- Is :public virtual Window different from :virtual public Window?