函数都可以有模板,同样嘛,类当然不会放过这么好一个机会咯。类模板其实很简单,和函数模板一样,都是要首先声明一下模板类型为啥,然后再在类里面所有的东东都用这个模板来代替。我们以一个程序来说明一下:

#include <iostream>
using namespace std;
template<class ElementType>
class Sum
{
public:
	Sum(ElementType A,ElementType B):a(A),b(B){}
	ElementType sum(){return a+b;}
	ElementType getA(){return a;}
	ElementType getB(){return b;}
private:
	ElementType a,b;
};

int main()
{
	Sum<int> test(3,4);
	cout<<"第一个加数为:"<<test.getA()<<"第二个加数为:"<<test.getB()<<"\t和为:"<<test.sum()<<endl;
	Sum<double> test_2(3.4,7.9);
	cout<<"第一个加数为:"<<test_2.getA()<<"第二个加数为:"<<test_2.getB()<<"\t和为:"<<test_2.sum()<<endl;
	return 0;
}

  看到没,很简单吧。首先我们在程序的第3行声明了一个模板ElementType,其次在类Sum的定义里面,我们针对所有的元素都采用了ElementType这个模板类型。和函数模板唯一不同之处在于程序第17行和第19行,在这里,我们需要在类名Sum后面的尖括号<>里面加上实际的类型int和double。这样就可以对不同的类型数据作出不同的响应。程序的输出结果如下:

“模板”学习笔记(6)-----类也可以有模板

      OK~~这个就是类模板的简单示例咯

相关文章:

  • 2021-10-16
  • 2021-09-11
  • 2021-06-01
  • 2022-12-23
  • 2022-02-13
  • 2021-09-05
  • 2021-08-01
  • 2022-01-08
猜你喜欢
  • 2021-06-05
  • 2021-04-10
  • 2021-06-20
  • 2021-12-29
  • 2021-10-25
  • 2021-09-09
  • 2021-07-22
相关资源
相似解决方案