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;
posted @ 2022-05-04 17:37  纸包鱼  阅读(167)  评论(0)    收藏  举报