C++ 类模板对象做函数参数

#include <iostream>

#include <string>

#include <fstream>

using namespace std;

template<class T1,class T2>

class Person

{

public:

Person(T1 name,T2 age)

{

this->name=name;

this->age=age;

}

void showPerson()

{

cout<<"name:"<<this->name<<endl;

cout<<"age:"<<this->age<<endl;

}

private:

T1 name;

T2 age;

};

void printPerson1(Person<string,int> &p)

{

p.showPerson();

}

template<class T1,class T2>

void printPerson2(Person<T1,T2> &p)

{

p.showPerson();

cout<<":"<<typeid(T1).name()<<endl;

cout<<":"<<typeid(T2).name()<<endl;

}

template<class T>

void printPerson3(T &p)

{

p.showPerson();

cout<<":"<<typeid(T).name()<<endl;

}

void test03()

{

Person<string,int>p("Tom",10);

printPerson3(p);

}

void test01()

{

Person<string,int>p("Tom",10);

printPerson2(p);

}

int main()

{

test03();

system("pause");

}

相关推荐
郑同学的笔记10 分钟前
【c++随笔30】C++ 注册回调函数
开发语言·c++
七夜zippoe25 分钟前
启元 Q1 腿部运动学逆解:Python 算站立下蹲关节角
开发语言·python·ai·机器人·腿部运动学
熊猫钓鱼>_>30 分钟前
精准碰一碰近场分享与拖拽投送实战:把文件“碰“进另一台设备【鸿蒙心迹】
开发语言·华为·harmonyos·鸿蒙·openharmony
lengxuenong33 分钟前
树状数组 · 信息学学习手册2-离散化与逆序对
c++·学习·算法
琳达爱分享34 分钟前
五个线程同时去换 token,四个被踢下线:刷新接口其实不是幂等的
后端·算法·架构
十二35 分钟前
【洛谷题解】P1115 最大子段和(前缀和 + 维护最小前缀)
数据结构·c++·算法·蓝桥杯
CodeGL1 小时前
9、Python基础之IO编程
开发语言·数据库·python
renhongxia11 小时前
RAG检索增强生成:打通大模型与外部知识的通道
大数据·人工智能·算法
2501_933923251 小时前
双指针算法:移动零+复写零(Java)
数据结构·算法·双指针
曹牧1 小时前
SVN:失联项目
开发语言