以下に例を示す:template<classDerived>structbase{voidinterface(){//...static_cast<Derived*>(this)->implementation();//...}};structderived:base<derived>{voidimplementation();};ここで、メンバ関数本体が宣言のずっと後にインスタンス化されるという事実を利用して、static_castを使って派生クラスのメンバをベースクラスのメンバ関数内で使い、コンパイル時にポリモーフィズム的な機能を実現している。
如下例：template<classDerived>structbase{voidinterface(){//...static_cast<Derived*>(this)->implementation();//...}};structderived:base<derived>{voidimplementation();};这里基础类别模板有着这样的优点：成员函式的本体在被他们的宣告之前都不会被实体化，而且它可利用static_cast并透过自己的函式来使用衍生类别的成员，所以能够在编译时产生出带有多型特性的物件复合物。