<p>How can I use CRTP in C++ to avoid the overhead of virtual member functions?</p>

I had to look up
CRTP
. Having done that, however, I found some stuff about
Static Polymorphism
. I suspect that this is the answer to your question.
It turns out that
ATL
uses this pattern quite extensively.