← Back to archive

Stdle #36 · virtual · 2026-07-12

What does this C++ snippet output?

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

#include <iostream>
struct Base { virtual const char* name() { return "Base"; } };
struct Mid : Base { const char* name() override { return "Mid"; } };
struct Leaf : Mid {};
int main() {
Base* p = new Leaf();
std::cout << p->name() << "\n";
delete p;
}
Virtual
4 attempts left

Answer & explanation