仍是例子說話。程序員
函數模板:函數
template<class T> max(const T a, const T b) { return (a>b ? a : b); } 這樣用: //int int a = 1, b = 2; max(a, b); //float float c = 1.0f, d = 2.0f; max(c, d); //double double e = 1.0, f = 2.0; max(e, f); //...
類模板:code
template<class T> class C { public: T max(const T a, const T b) { return (a>b ? a : b); } }; 對這個類進行實例化: //int C<int> cn; //float C<float> cf; //double C<double> cd; //...
如今看出區別了吧,區別在於函數模板和類模板的使用方式上:編譯器
函數模板在使用時不須要程序員指定類型,編譯器在編譯的時候會自動綁定;而類模板須要程序員手工指定,指定的方式是:類名字<類型>。編譯