我們在程式設計的時候總是會遇到一些類似的模組,只是模組中的形參的資料型別不同,導致我們要不斷的去更改模組的。這裡就涉及到過載的知識點了。例如以下的幾種情況:在類模版中,不可避免的要用到函式模組。這是我們便要定義函式了。這時候,c++中的模版(template)就很好的為我們提供了解決方案。運用模版,我們只需要在使用時,再將資料型別定義上去就可以使用了,不用大費周折的不同的資料型別都得去寫乙個模組。//函式1.
int max(int x,int y);
//函式2.
float max( float x,float y)
//函式3.
double max(double x,double y)
首先,我們得自己寫乙個模版的標頭檔案。模版的格式很複雜,有點難記。但沒關係,我們一步步來。下面給出標頭檔案的**:
1.類模版的定義我們把模版的定義拆解來看#ifndef templateclass_h_
#define templateclass_h_
template class myclass;
template myclass::myclass(a a,b b):x(a),y(b){} //初始化x,y
//注意下面標紅的資料型別,這是為了說明函式的資料型別
templatevoid myclass::output()
templatea myclass::max()
#endif // !templateclass_h_
可以將templateclass 類名{}看成template class myclass{
private:
public:
}
大前提()class 類名{執行方案}
2.類中函式模組的定義
按照上面的方法,將函式定義看作void output();
templatevoid myclass::output()
大前提()返回型別 類名<>::函式模組名(形參){函式體}
最後,通過源程式檢查是否成功
#include#include"template.h"using namespace std;
void main()
執行結果如圖,成功
C 模版template的用法
模板是c 支援引數化多型的工具,使用模板可以使使用者為類或者函式宣告一種一般模式,使得類中的某些資料成員或者成員函式的引數 返回值取得任意型別。c 中的模板有函式模版和類模版兩種形式,下面將分別介紹。template 返回型別 函式名 引數列表 其中template和class是關見字,class可...
C 中 模板Template的使用
1 在c template中很多地方都用到了typename與class這兩個關鍵字,而且好像可以替換,是不是這兩個關鍵字完全一樣呢?答 class用於定義類,在模板引入c 後,最初定義模板的方法為 template,這裡class關鍵字表明t是乙個型別,後來為了避免class在這兩個地方的使用可能...
C 中的 template 類使用
在c 中為了節省工作量,出現了一種模板類。可以多次重寫。1 在c template中很多地方都用到了typename與class這兩個關鍵字,而且好像可以替換,是不是這兩個關鍵字完全一樣呢?答 class用於定義類,在模板引入c 後,最初定義模板的方法為 template,這裡class關鍵字表明t...