#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();
}
