c++类模板对象作为函数参数
1. 指定传入的类型 --- 直接显示对象的数据类型,最常用的
void printperson1(person<string,int> &p)
2. 参数模板化 --- 将对象中的参数变为模板进行传递
template<typename T1 ,typename T2>
void printperson2(person<T1,T2> &p)
3. 整个类模板化 --- 将这个对象类型 模板化进行传递
template<typename T>
void printperson3(T &p)
{
cout << typeid(T).name() <<endl;
p.showperson();
}
变成模板之后,通过typeid函数能够显示出模板化后的参数类型,使用时要先加头文件typeinfo
#include <typeinfo>
cout << typeid(T2).name() <<endl;

浙公网安备 33010602011771号