#include <iostream>
struct Base
{
virtual void Func() const = 0;
};
inline void Base::Func() const
{ std::cout<<"Base\n"; }
struct Concrete : Base
{
virtual void Func() const;
};
inline void Concrete::Func() const
{ Base::Func(); std::cout<<"Concrete\n"; }
int main(void)
{
Concrete o;
o.Func();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEJhc2UKewogICAgdmlydHVhbCB2b2lkIEZ1bmMoKSBjb25zdCA9IDA7Cn07CgppbmxpbmUgdm9pZCBCYXNlOjpGdW5jKCkgY29uc3QKeyBzdGQ6OmNvdXQ8PCJCYXNlXG4iOyB9CgpzdHJ1Y3QgQ29uY3JldGUgOiBCYXNlCnsKICAgIHZpcnR1YWwgdm9pZCBGdW5jKCkgY29uc3Q7Cn07CgppbmxpbmUgdm9pZCBDb25jcmV0ZTo6RnVuYygpIGNvbnN0CnsgQmFzZTo6RnVuYygpOyBzdGQ6OmNvdXQ8PCJDb25jcmV0ZVxuIjsgfQoKaW50IG1haW4odm9pZCkKewogICAgQ29uY3JldGUgbzsKICAgIG8uRnVuYygpOwp9Cg==