#include<iostream>
#include<string>
using namespace std;
template<class N, class T>
class Person{
public:
N m_name;
T m_age;
Person(N name, T age):m_name(name),m_age(age){}
void show(){
cout<<"姓名:"<<this->m_name<<"\n年龄:"<<this->m_age<<endl;
}
};
void test(){
Person<string, int> p("孙悟空", 5000);
p.show();
}
int main(){
test();
return 0;
}
3.1 类模板与函数模板的区别主要有以下2点:
#include<iostream>
#include<string>
using namespace std;
template<class N=string, class T=int>
class Person{
public:
N m_name;
T m_age;
Person(N name, T age):m_name(name),m_age(age){}
void show(){
cout<<"姓名:"<<this->m_name<<"\n年龄:"<<this->m_age<<endl;
}
};
void test(){
Person<> p("孙悟空", 5000);
p.show();
}
int main(){
test();
return 0;
}
3.2 函数模板可以作为类模板成员函数。