← Back to archive

Stdle #10 · virtual · 2026-06-16

What does this C++ snippet output?

A past puzzle — fully playable. 4 attempts, hints on wrong guesses.

#include <iostream>
struct A {
virtual void f() { std::cout << "A\n"; }
};
struct B : A {
void f() override { std::cout << "B\n"; }
};
void call(A a) { a.f(); }
int main() {
B b;
call(b);
}
Virtual
4 attempts left

Answer & explanation