Template Classes

template calss可以适应于各式各样的对象类型:float,int,long等等等。

如一下例子:

template <class T>
class CThree
{
public :

	CThree(T t1, T t2, T t3);
	T Min();
	T Max();

private:
	T a, b, c;

};


template<class T>
T CThree<T>::Min()
{
	T minab = a < b ? a : b;
	
	return minab < c ? minab : c;

}
template<class T>

T CThree <T>::Max()
{
	T maxab = a < b ? b : a;
	return maxab < c ? c : maxab;
}

template<class T>
CThree<T>::CThree(T t1, T t2, T t3) :a(t1), b(t2), c(t3)
{
	return;
}

#include <iostream>
using namespace std;

void main()
{
	CThree<int> obj1(2, 5, 4);
	cout << obj1.Min() << endl;
	cout << obj1.Max() << endl;

	CThree<float> obj2(8.52, -6.75, 4.54);
	cout << obj2.Min() << endl;
	cout << obj2.Max() << endl;

	CThree<long> obj3(646600L, 437847L, 364873L);
	cout << obj3.Min() << endl;
	cout << obj3.Max() << endl;
	getchar();
	getchar();
}
里面的T不好理解就可以想想城int float等;
结果如下:
简单易懂主要就是格式问题。

CThree<T>::CThree(T t1, T t2, T t3) :a(t1), b(t2), c(t3)//赋值操作~

猜你喜欢

转载自blog.csdn.net/iloveyou418/article/details/79028394
今日推荐