Pergunta de entrevista da empresa NVIDIA

Typical OOP design problem.