class A{int a;};class B : virtual public A{};class C: virtual public A{};class D: public B,public C{}void test(){D d;d.a;//没二义性}