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

}

相关推荐
05664628 分钟前
Python康复训练——常用标准库
开发语言·python·学习
骊城英雄33 分钟前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#
吾儿良辰39 分钟前
一个被BCL遗忘的高性能集合:C# CircularBuffer<T>深度解析
开发语言·windows·c#
昆曲之源_娄江河畔42 分钟前
Python如何安装flask, pymssql
开发语言·python·flask·pymssql
土豆.exe1 小时前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
Leighteen1 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
0566461 小时前
Python康复训练——控制流与函数
开发语言·python·学习
黄河123长江1 小时前
有限Abel群的结构()
算法
峥无1 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波1 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl