#include<iostream>
using namespace std;
template<typename T1,typename T2>
class person
{
public:
person(T1 age, T2 name);
void showperson();
T1 m_age;
T2 m_name;
};
template<typename T1,typename T2>
person<T1,T2>::person(T1 age, T2 name)
{
//类内的成员函数的类外实现,首先要加上作用域,其余编译器并不认识T1,和
//T2,所以要申明类模板,并且因为这个是类模板的成员函数的类外实现
//所以我们要在person的后面加上一个T1,和T2
this->m_age = age;
this->m_name = name;
}
template<typename T1,typename T2>
void person<T1,T2>:: showperson()
//注意即使没有用到类模板的内容,因为它是一个类模板的成员函数,所以一定
//要申明为类模板
{
cout << "name=" << this->m_name << "\t" << "age="<<this->m_age << endl;
}
void test01()
{
person<int,string> p(18, "zhangsan");
p.showperson();
}
int main(void)
{
test01();
system("pause");
}
类模板的成员函数的类外实现 c++ 简单易懂
最新推荐文章于 2023-11-09 10:25:48 发布