函数模板类模板

1、函数模板

创新互联建站客户idc服务中心,提供服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

  模板就是为了代码的复用,可以把数据类型设计为参数,由我们自定义类型进行传送;

#include
using namespace std;

template  //模板的声明,老的版本是class替换typename;
Type Max(Type a, Type b){
    return a > b ? a : b;
}

int main(void){ 
    cout<int,
                                //不会隐式转换的。 
    return 0;
}

  模板不支持隐式转换,类型必须明确给出(强制类型转换);       

  函数模板效率并不高,只是将函数模板-------->模板函数;

  上述出错的解决方案:cout<

  或cout<(2, 5.45)<

template  
Type1 Max(Type1 a, Type2 b){
    return a > b ? a : b;
}

这样就可以对应传过去的数据类型;每个参数的类型一一对应,在自己根据情况写出返回值类型。

2、类模板

  C++中的类一般都是模板类;

函数模板 类模板

模板类要注意的是:

  (1)、在类上面写上模板,友元函数类的声明,最上面也要写上模板;

  (2)、在类内声明,在类外实现时要加上模板,并且还得在作用域限定符前面加上数据类型;

模板的0初始化:

        函数模板 类模板                     

以上这些可以说明语法是成立的;  Type t = Type();  这个就是模板的初始化,根据不同类型初始化为0;

     


当前名称:函数模板类模板
链接地址:http://myzitong.com/article/jdpooc.html