How does virtual inheritance in CPP solve the ambiguity when accessing ordinary member functions in the diamond problem?

suppose that ABCD class, BC virtual inheritance from AMagle D inherited from BC,A class virtual function (not overridden at the same time in BC) and member variables belong to the internal of the class, if both of them solve the ambiguity, it can be solved by directly manipulating the virtual pointer and saving the object without repeated saving, while the ordinary member function in A belongs to the global, how does virtual inheritance solve the ambiguity?

Menu