#include <iostream>
class Base {
public:
virtual int foo() const = 0;
int bar() const;
};
class Child : public Base {
public:
int foo() const;
};
int Child::foo() const {
return 5;
}
int Base::bar() const {
return this->foo() * 3;
}
int main()
{
Child c;
std::cout << c.bar();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgpjbGFzcyBCYXNlIHsKcHVibGljOgoJdmlydHVhbCBpbnQgZm9vKCkgY29uc3QgPSAwOwoJaW50IGJhcigpIGNvbnN0Owp9OwoKY2xhc3MgQ2hpbGQgOiBwdWJsaWMgQmFzZSB7CnB1YmxpYzoKCWludCBmb28oKSBjb25zdDsKfTsKCgppbnQgQ2hpbGQ6OmZvbygpIGNvbnN0IHsKCXJldHVybiA1Owp9CgppbnQgQmFzZTo6YmFyKCkgY29uc3QgewoJcmV0dXJuIHRoaXMtPmZvbygpICogMzsKfQoKaW50IG1haW4oKQp7CglDaGlsZCBjOwoJc3RkOjpjb3V0IDw8IGMuYmFyKCk7CglyZXR1cm4gMDsKfQo=