#include class MyClass { public: void Print(int); void Print(char); private: template inline void TemplatePrint(T n); }; template inline void MyClass::TemplatePrint(T n) { std::cout << n << " (" << sizeof(n) << ")" << std::endl; } void MyClass::Print(int i) { TemplatePrint(i); } void MyClass::Print(char i) { TemplatePrint(i); } int main(void) { MyClass x; x.Print(10); x.Print('a'); return 0; }