C++菱形继承的二义性与虚继承原理