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");

}

相关推荐
xiangpanf几秒前
PHP vs Go:30秒读懂核心差异
java·开发语言
聆风吟º1 分钟前
【C标准库】C语言memset函数详解:从原理到实战避坑
c语言·开发语言·库函数·memset
idealzouhu2 分钟前
【Kotlin】 数据流完全指南:冷流、热流与 Android 实战
android·开发语言·kotlin
快快起来写代码4 分钟前
反射可能用于的场景
开发语言·python
MicroTech20255 分钟前
微算法科技(NASDAQ :MLGO)抗量子区块链技术:筑牢量子时代的数字安全防线
科技·算法·区块链
.select.5 分钟前
C++ 单例模式
java·c++·单例模式
Ivanqhz6 分钟前
图着色寄存器分配算法(Graph Coloring)
开发语言·javascript·python·算法·蓝桥杯·rust
一直都在5727 分钟前
JAVA类的加载过程
java·开发语言
我命由我123458 分钟前
Element Plus 问题:选择框表单校验没有触发
开发语言·前端·javascript·html·ecmascript·html5·js
Elsa️7468 分钟前
洛谷p5718 复习下快速排序和堆排序
数据结构·算法·排序算法