#include <iostream>
using namespace std;
class ITestA { public: virtual void methodA() {} };
class ITestB : public ITestA { public: virtual void methodB() {} };
class CBaseA : public ITestA
{ public: virtual void methodA() override { cout << "CBaseA methodA\n"; } };
class CBaseB : public CBaseA, public ITestB
{ public: virtual void methodB() override { cout << "CBaseB methodB\n"; } };
int main() {
CBaseB b;
b.CBaseA::methodA();
b.methodB();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgSVRlc3RBICAgICAgICAgICAgICAgICB7IHB1YmxpYzogdmlydHVhbCB2b2lkIG1ldGhvZEEoKSB7fSB9OwpjbGFzcyBJVGVzdEIgOiBwdWJsaWMgSVRlc3RBIHsgcHVibGljOiB2aXJ0dWFsIHZvaWQgbWV0aG9kQigpIHt9IH07CgpjbGFzcyBDQmFzZUEgOiBwdWJsaWMgSVRlc3RBCnsgcHVibGljOiB2aXJ0dWFsIHZvaWQgbWV0aG9kQSgpIG92ZXJyaWRlIHsgY291dCA8PCAiQ0Jhc2VBIG1ldGhvZEFcbiI7IH0gfTsKY2xhc3MgQ0Jhc2VCIDogcHVibGljIENCYXNlQSwgcHVibGljIElUZXN0Qgp7IHB1YmxpYzogdmlydHVhbCB2b2lkIG1ldGhvZEIoKSBvdmVycmlkZSB7IGNvdXQgPDwgIkNCYXNlQiBtZXRob2RCXG4iOyB9IH07CiAKaW50IG1haW4oKSB7CglDQmFzZUIgYjsKCWIuQ0Jhc2VBOjptZXRob2RBKCk7CgliLm1ldGhvZEIoKTsKCXJldHVybiAwOwp9Cg==