Stdle #118 · virtual · 2026-10-02
What does this C++ snippet output?
A past puzzle — fully playable. 4 attempts, hints on wrong guesses.
#include <iostream>#include <vector>struct Logger { virtual void log() { std::cout << "base\n"; } };struct FileLogger : Logger { void log() override { std::cout << "file\n"; } };int main() { std::vector<Logger*> v = { new Logger(), new FileLogger() }; for (auto l : v) l->log(); for (auto l : v) delete l;}Virtual