第二十三模板 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;

}*/

//使用继承和模板的方式,都可以派生出一个类系,以实现代码重用的目前的,但是它们有着本质的区别

/*

由模板生成的多个新类,实现的是对多个数据类型的重载,它们处理数据方法都是相同的,但是继承方式派生出的类,数据有增加的可能,而且对数据的操作方式也可能会变化,

比如说派生类会提供更多的方法对数据进行操作,或者改变原有的方法,使得数据的操作更加简单和快捷,而且这些类之间也存在着兄弟,父子之间的关系

*/

  

你可能感兴趣的:(模板)