Is there a runtime performance penalty when using interfaces (abstract base classes) in C++?
The only main difference I know of is that, since you're not using a concrete class, inlining is (much?) harder to do.