www.gusucode.com > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序 > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序/code/C++例题程序/第3章/s3_5/smain3_5_B.cpp
//Download by http://www.NewXing.com class A { public: void Func( void ); }; // 派生类B公有继承基类A则隐含地继承了类A的接口Func class B : public A{ }; // 派生类C公有继承基类A也隐含地继承了类A的接口Func class C : public A{ }; // 派生类D公有继承基类B和C即间接继承类A也间接继承了类A的接口Func class D : public B, public C{ }; void main( void ) { D ObjD; // 以下访问错误编译器无法确定访问以上哪个类的接口Func于是出现多义性 // ObjD. Func(); ObjD.B::Func(); // 通过作用域分辨符指明调用类B的Func()副本正确 ObjD.C::Func(); // 通过作用域分辨符指明调用类C的Func()副本正确 }