类的模板

类的模板:

声明的一般形式:template<class T1,class T2,......>。

定义对象的形式为: 类模板名 <实际类型名> 对象名,如下面的代码 Test <int,double> GG。

类模板定义对象且初始化的形式为:类模板名 <实际类型名> 对象名(实参列表)。

在类模板外定义成员函数:template <class T> 

函数类型  类模板名 <T> ::成员函数名(形参列表) {函数体}

#include<iostream>
using namespace std;

template <class T1,class T2>
class  Test
{
public:
	void SetData1(T1 val)
	{ 
		data1=val;
	}
	void SetData2(T2 val)
	{
		data2=val;
	}
	T1 GetData1()
	{ 
		return data1;
	}
	T2 GetData2()
	{ 
		return data2;
	}
private:
	T1 data1;
	T2 data2;
};

void main()
{
	Test <int,double> GG;
	GG.SetData1(20);
	GG.SetData2(22.20);
	cout<<GG.GetData1()<<endl;
	cout<<GG.GetData2()<<endl;
	Test <char,bool> MM;
	MM.SetData1('h');
	MM.SetData2(true);
	cout<<MM.GetData1()<<endl;
	cout<<MM.GetData2()<<endl;

}

运行结果:


发布了74 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/fu_yunjian/article/details/52628864