C 中template(模版)的使用

2021-07-27 17:54:37 字數 1426 閱讀 9117

我們在程式設計的時候總是會遇到一些類似的模組,只是模組中的形參的資料型別不同,導致我們要不斷的去更改模組的。這裡就涉及到過載的知識點了。例如以下的幾種情況:

//函式1.

int max(int x,int y);

//函式2.

float max( float x,float y)

//函式3.

double max(double x,double y)

這時候,c++中的模版(template)就很好的為我們提供了解決方案。運用模版,我們只需要在使用時,再將資料型別定義上去就可以使用了,不用大費周折的不同的資料型別都得去寫乙個模組。

首先,我們得自己寫乙個模版的標頭檔案。模版的格式很複雜,有點難記。但沒關係,我們一步步來。下面給出標頭檔案的**:

#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_

1.類模版的定義我們把模版的定義拆解來看

template class myclass{

private:

public:

可以將templateclass  類名{}看成

大前提()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...