White RoomNEW

Hidden By The Derived

What does this print?

#include <iostream>

struct Base {
    virtual void f(int)    { std::cout << "Base::f(int) "; }
    virtual void f(double) { std::cout << "Base::f(double) "; }
};

struct Derived : Base {
    void f(double) override { std::cout << "Derived::f(double) "; }
};

int main() {
    Derived d;
    Base& b = d;
    b.f(1);
    d.f(1);
}