Your question is Virtual Dispatch and Vtables. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
Describe how virtual functions and the vtable work in C++. What is the runtime cost of dynamic dispatch, and how can you avoid it in performance-critical loops?