In the following code the Multi Path Inheritance was resolved by using Virtual Class
How did the constructor work?
A Constructor cannot be inherited or virtual or static.
/*Multi Path Inheritance*/
class A{
public:
    int a;
    A(){
        a=50;
    }
};
class B:virtual public A{
public:
    /*B(){
        a = 40;
    }*/
};
class C:virtual public A{
public:
    /*C(){
        a = 30;
    }*/
};
class E:virtual public A{
public:
    E(){
        a = 40;
    }
};
class D : public B, public C, public E{
public:
    D(){
        cout<<"The value of a is : "<<a<<endl;  
    }
};
int main(int argc, char *argv[]){
    D d;
    return 0;
}
 
     
     
    