例として以下のコードを挙げる:structclear{intoperator()(int);//引数の型と戻り値の型が同じdoubleoperator()(double);};template<classObj>classcalculus{Objmember;public:template<classArg>Argoperator()(Arg&a)const{returnmember(a);}};calculusクラステンプレートをclearクラスで実体化する場合（calculus<clear>として実体化する場合）、calculus関数オブジェクトはclear関数オブジェクトと同じ戻り値型を持つ。
举例来说：structClear{intoperator()(int);//参数与回返值的型别相同doubleoperator()(double);//参数与回返值的型别相同};template<classObj>classCalculus{public:template<classArg>Argoperator()(Arg&a)const{returnmember(a);}private:Objmember;};实体化样板类Calculus<Clear>，Calculus的仿函式其回返值总是和Clear的仿函式其回返值具有相同的型别。