c++模板

笙烛

关注

阅读 75

2022-01-24

函数模板(目的,为了实现一个函数,完成多种类型的同样功能,比如栈,数组排序等等)

template <typename T> 或者 template <class T>

T func(T a, T b) //入参与返回参数都可以用T

{

}

调用

int main()

{

int c = func(1,2);//隐式推到类型

//或者

int c = func<int>(1,2); //显示类型

return 0;

}

类模板(目的,类内的成员变量类型声明为泛型,一般都是中间类)

template<class T1, class T2>

class Transform {

T1 x_;

T2 y_;

Transform(T1 a,T2 b)

{

x_ = a;

y_ = b;

}

};

//调用

int main()

{

Transform<int,int> trans1(1,2);

//不允许 Transform trans1(1,2);  必须显式指定类型

Transform<string,string> trans2("a","b");

return 0;

}

精彩评论(0)

0 0 举报