c++ multiple inheritance diamond problem

C++
class Parent;
class a : virtual public Parent; //add virtual
class b : virtual public Parent; //add virtual
class c : public a, public b;
Source

Also in C++: