类模板中,可以在类内进行函数声明,在类外进行函数实现,以实现模板的灵活使用。
代码如下:
#include <iostream> //标准的输入输出流
#include<string.h>
#include<stdlib.h>
#include<cmath>
#include<time.h>
#include<string>
using namespace std; //使用标准命名空间
using std::cout;
using std::endl;
template<class T1,class T2> //类模板
class Stu{
public:
T1 name;
T2 age;
Stu(T1 name, T2 age); //只声明
void show(); //只声明
};
template <class T1, class T2>
Stu<T1,T2>::Stu(T1 name, T2 age) //定义
{
this->name = name;
this->age = age;
}
template <class T1, class T2> //只要是在类模板中,都要加上
void Stu<T1,T2>::show() //定义
{
cout << "姓名为: " << this->name << "年龄为: " << this->age << endl;
}
int main(void)
{
Stu<string, int> p1("李达康", 40);
p1.show();
return 0;
}
程序是一个使用类模板的示例,其中定义了一个名为Stu的类模板,模板参数为T1和T2。 在Stu类中,有一个构造函数和一个成员函数show,分别用来初始化对象的name和age成员,并显示对象的name和age。 在main函数中,创建了一个Stu对象p1,并通过构造函数传入了一个字符串和一个整数作为参数。然后调用show函数显示p1对象的信息。
程序的目的是演示如何使用类模板来创建并操作泛型对象。类模板是一种通用的类定义,可以针对不同的数据类型进行实例化, 从而实现代码的复用和泛化。