Katkat

Differentiate virtual and pure virtual functions

TikTokMachine Learning Engineer · Technical Screen

Last updated

This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Differentiate virtual and pure virtual functions states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

In C++, what is the difference between a virtual function and a pure virtual function? Provide syntax examples, describe dynamic dispatch via the vtable, and explain how overriding works. When does a class become abstract, and can a pure virtual function still have a definition? Discuss whether constructors or destructors should be virtual, implications for resource management, and guidelines on when to use each in interface design.