#include <iostream>
#include <string>
using namespace std;
/************************************************************************/
/* 类模板成员函数类外实现
1.成员函数类外实现,需要模板声明,否则会找不到T类型;
2.类外实现作用域需要加上模板参数列表,否则和普通类没有差别;
/************************************************************************/
template <class T1, class T2>
class Person{
public:
Person(T1 name, T2 age);
void show_value();
T1 m_Name;
T2 m_Age;
};
//模板声明和模板参数列表添加
template<class T1, class T2>
Person<T1, T2>::Person(T1 name, T2 age)
{
this->m_Name = name;
this->m_Age = age;
}
//模板声明和模板参数列表添加
template<class T1, class T2>
void Person<T1, T2>::show_value()
{
cout<<"m_Name:"<<m_Name<<endl;
cout<<"m_Age:"<<m_Age<<endl;
}
void test1()
{
Person<string, int> p("孙悟空", 500);
p.show_value();
}
int main()
{
test1();
return 0;
}
C++类模板成员函数类外实现
最新推荐文章于 2024-09-03 18:10:46 发布