← Back to archive

Stdle #34 · virtual · 2026-07-10

What does this C++ snippet output?

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

#include <iostream>
#include <memory>
struct A {
virtual void f() { std::cout << "A\n"; }
virtual ~A() = default;
};
struct B : A {
void f() override { std::cout << "B\n"; }
};
int main() {
std::unique_ptr<A> p = std::make_unique<B>();
p->f();
}
Virtual
4 attempts left

Answer & explanation