第二十三模板 6类模板的定义 简单

//第二十三模板 6类模板的定义
//类模板的定义与函数模板的定义大到到致相同
/*#include <iostream>
using namespace std;
template<class T>
class people
{
public:
	people(T x, T y):X(x),Y(y){}
	T getX(){ return X;}
	T getY(){ return Y;}
private:
	T X, Y;
};
int main()
{
	int a=3, b=4;
	people<int> Jack(a,b);
	//注意,由于people是个模板类,因此构造对像时略有不同
	//people<int> Jack(a,b)
	//<in>告诉编译器将从模板中产生一个类,并且类型int替换类型T
	//这样,people类中所有类型为T的参数将全部被替换为类型为int的参数

	cout<<Jack.getX()<<endl;
	cout<<Jack.getY()<<endl;

	people<char> Mack('x','y');
	cout<<Mack.getX()<<endl;
	cout<<Mack.getY()<<endl;

    return 0;
}*/
//使用继承和模板的方式,都可以派生出一个类系,以实现代码重用的目前的,但是它们有着本质的区别
/*
由模板生成的多个新类,实现的是对多个数据类型的重载,它们处理数据方法都是相同的,但是继承方式派生出的类,数据有增加的可能,而且对数据的操作方式也可能会变化,
比如说派生类会提供更多的方法对数据进行操作,或者改变原有的方法,使得数据的操作更加简单和快捷,而且这些类之间也存在着兄弟,父子之间的关系
*/

  

原文地址:https://www.cnblogs.com/xiangxiaodong/p/2711681.html