#include <iostream>

class Base {
public:
    virtual int read() const {
        return 1;
    }
};

class Derived : public Base {
public:
    int read() const override {
        return 2;
    }
};

int main() {
    Derived object;
    Base& view{object};
    std::cout << view.read() << '\n';
    return 0;
}
