    #include <iostream>
    struct B {
        void func() { std::cout << "in base\n"; }
    };

    struct D : public B {
        void func() { std::cout << "in derived\n"; }
    };

    int main() {
        D d;
        d.func();
    }
