Stdle #63 · virtual · 2026-08-08
What does this C++ snippet output?
A past puzzle — fully playable. 4 attempts, hints on wrong guesses.
#include <iostream> struct Shape { virtual int sides() = 0; };struct Triangle : Shape { int sides() override { return 3; } };struct Pentagon : Shape { int sides() override { return 5; } };int main() { Shape* shapes[] = { new Triangle(), new Pentagon() }; int total = 0; for (auto s : shapes) total += s->sides(); std::cout << total << "\n"; for (auto s : shapes) delete s;}Virtual