C++模板类与模板函数
C++中的泛型编程,模板类与模板函数用法,包括模板类外定义成员函数用法如下代码所示。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
template <class T1,class T2>
class Student { //模版类,具有两个类型T1,T2
private:
T1 id;
T2 name;
public:
void setId(T1 id);
void setName(T2 name);
T1 getId();
T2 getName();
};
template <class T1,class T2> //类外定义成员函数,需要以模板函数形式定义
void Student<T1,T2>::setId(T1 id) {
this->id = id;
}
template <class T1,class T2>
void Student<T1,T2>::setName(T2 name){
this->name=name;
}
template <class T1,class T2>
T1 Student<T1,T2>::getId(){
return this->id;
}
template <class T1,class T2>
T2 Student<T1,T2>::getName(){
return this->name;
}
int main()
{
int a = 5;
string s = "abc";
Student<int, string> stu;
stu.setId(a);
stu.setName(s);
cout<<stu.getId()<<" "<<stu.getName()<<endl;
return 0;
}