static_cast&lt;derived*&gt;(this)-&gt;implementation();