#include<iostream>
#include<string>
using namespace std;
//类模板成员函数类外实现
template<class T1,class T2>
class base {
public:
base (T1 name,T2 age);
void showperson();
T1 m_name;
T2 m_age;
};
template<class T1, class T2>//类外声明要标出<T1,T2> 放在类名后面
base<T1,T2>::base(T1 name, T2 age) {
m_name = name;
m_age = age;
}
template<class T1, class T2>
void base<T1,T2>::showperson() {
cout << "姓名: " << m_name << " 年龄: " << m_age << endl;;
}
//如果想灵活指定父类中的T类型 子类也需要变类模板
void test1() {
base<string,int> a("tom",20);//创建对象时要标明类型
a.showperson();
}
int main() {
test1();
system("pause");
return 0;
}
//类模板中成员函数类外实现时需要加上模板参数列表
c++类模板成员函数的类外实现
最新推荐文章于 2024-09-10 16:01:56 发布
这篇博客介绍了C++中类模板的成员函数如何在类外进行声明和实现,以及如何通过指定模板类型创建对象并调用成员函数。示例代码展示了如何定义一个包含两个模板参数的base类,并实现构造函数和showperson()方法。在main函数中,创建了一个string和int类型的实例并展示了其功能。
摘要由CSDN通过智能技术生成