1. 程式人生 > >函式模版和類模板的使用

函式模版和類模板的使用

template

template用於過載(overriding),目的是讓形參型別不同的函式可以共用一個類名或者函式名。

  1. 最簡單的使用,對一個函式進行過載,引數是可變的
    原型:
template <class identifier> function_declaration;

NOTICE:

  T也可以作為函式的返回值進行設定,並不一定是引數。
例子:

#include <iostream>
using namespace std;

template <typename T>
void show(T t)
{
	cout << "the parm is " << t << endl;
}

int main()
{
	show(123);
	show("abc");
	return 1;
}
  1. 和類一起使用,對引數進行限制
    原型:

template <typename identifier> function_declaration;

例子

#include <iostream>
using namespace std;

template <class T> class TemC
{
	public:
	    //並不是每一個函式都需要設定動態型別
		void show(T t);
};

template <typename T> void TemC<T>::show(T t)
{
	cout << "the parm is " << t << endl;
}

int main()
{
    //設定T為int之後,函式就只能接受int型別的引數
	TemC<int> tempC;
	tempC.show(123);
	//tempC.show("abc");
	return 1;
}