Referring to the following links.
1.
http://groups-beta.google.com/group/...6539a90194bfbc
2.
http://msdn.microsoft.com/archive/de...angrayhood.asp
Q1. Can somebody tell what does the phrase
"non-virtually-inherited parts" as referred in John Gray's post at the
end of the page referred by 1st link
Also, for class M: public X, public Y
where X and Y both have virtual functions (and thus have vfptrs),
class M will contain two vfptrs (one each for embedded instances of X
and Y).
Q2. Each class has only one vftable asociated with it. So, do the two
vfptrs (as above) point to the same vtable? The rule of one vtable is
violated when doing virtual inheritance of a base class with virtual
functions and derived class adding new virtual functions.
Q3. Also, the vtable for M will have two entries for the same func().
When doing a lookup for func(), which of the two entries is refrred to.