テンプレートを使わないならば
class Sample_Class
{
public:
Sample_Class();//これは普通の。
Sample_Class(short v);
Sample_Class(int v);
Sample_Class(long v);
Sample_Class(float v);
Sample_Class(double v);
Sample_Class(long double v);
};
Sample_Class::Sample_Class(){}//これは普通の。
Sample_Class::Sample_Class(short v){if(v){std::cout << "整数" << v << std::endl;}}
Sample_Class::Sample_Class(int v){if(v){std::cout << "整数" << v << std::endl;}}
Sample_Class::Sample_Class(long v){if(v){std::cout << "整数" << v << std::endl;}}
Sample_Class::Sample_Class(float v){if(v){std::cout << "小数" << v << std::endl;}}
Sample_Class::Sample_Class(double v){if(v){std::cout << "小数" << v << std::endl;}}
Sample_Class::Sample_Class(long double v){if(v){std::cout << "小数" << v << std::endl;}}
としておけば、
Sample_Class hoge=42;
Sample_Class piyo=3.14;
と呼び出してもちゃんと該当する物が呼び出されるじゃん。
これをテンプレートにしようとするととたんにつまずいてしまう。