函数模板

来源:互联网 发布:北京朝阳教育网络视频 编辑:程序博客网 时间:2024/06/18 15:44

写几个show()函数

一些声明

  • 非模板函数
void show(job a, job b);   
  • 通用模板
template <typename T>void show(T a, T b);                           
  • 显式实例化
template void show<int>(int, int);                
  • 显式具体化
template <>void show <job>(job a, job b);                                   

具体定义

template <typename T>void show(T a, T b)                //通用模板{    cout << a + b << endl;}//显式实例化不许重新定义template <>void show <job>(job a, job b)            //显式具体化{    cout << "显式具体化" << endl;    cout << a.age + b.age << endl;}void show(job a, job b)                    //非模板函数{    cout << "非模板函数" << endl;    cout << a.age + b.age << endl;}  

开始用了

ios_base::fmtflags initial = cout.setf(ios_base::showpoint);show(1, 2);                //显式实例化show(1.0, 2.0);            //通用模板job people1, people2;        people1.age = 23;people2.age = 34;show(people1, people2);            //都匹配时,普通函数优先  
0 0
原创粉丝点击