Static Type Picks The Default
#include <iostream>
struct Base {
Base() { render(); }
virtual void render(int depth = 1) const { std::cout << "Base:" << depth << " "; }
virtual ~Base() = default;
};
struct Derived : Base {
void render(int depth = 9) const override { std::cout << "Derived:" << depth << " "; }
};
int main() {
Derived d;
Base& b = d;
b.render();
d.render();
}
What does this print?
Sign in to answer questions and track your progress
Sign In