C 模板的定義與簡單使用

2021-10-11 01:12:17 字數 1743 閱讀 9132

何為模板:

即建立通用的模具,大大提高復用性。c++中按照對資料型別處理的不同要求分為函式模板和類模板

函式模板

template

<

typename t>

template:宣告建立模板;

typename:宣告後面符號是一種資料型別,可用class代替;

t:通用資料型別,名稱可替換,一般用大寫字母

int a =1;

int b =10;

myswap

(a,b)

;

myswap<

int>

(a,b)

;

myswap<

>

(a,b)

;//空模板引數列表

#include

//標準輸入/輸出流物件標頭檔案

using

namespace std;

//使用c++標準程式庫的識別符號宣告

template

<

typename t>

//宣告函式模板,typename可替換為class

void

mysort

(t arr,

int len)

//定義乙個模板函式}if

(max != i)}}

template

<

typename t>

void

myprint

(t arr,

int len)

cout << endl;

}void

test01()

void

test02()

;int len =

sizeof

(chararr)

/sizeof

(int);

mysort

(chararr,len)

;myprint

(chararr,len);}

intmain()

類模板

template

<

class

nametype

,class

agetype

>

//class 可替換為typename

person p1

("張三",18)--

-報錯

只能personint>p1(

"張三",18

);

template

<

class

nametype

,class

agetype

=int

>

personp1(

"張s",18

);

/*建立乙個通用類

template//class 可替換為typename

class person

nametype m_name;

agetype m_age;

}personp1("張三",18);

*/

小白學習中,歡迎交流指正!

c 類模板的簡單使用

include define elmtpe char 在此修改要處理的資料型別 using namespace std 引用的函式原型 class compare int max int min int compare max int compare min template 宣告乙個模板,虛擬型別...

C 模板的定義 使用及特化

模板函式的定義格式 template class 形參名1,class 形參名2.class 形參名3 這裡class也可以換為typename 返回值型別 函式名 template class t bool isequal t a,t b intmain 什麼是類模板?乙個類模板 也稱為類屬類或類...

C 模板類定義與宣告

pragma once ifndef grid h define grid h template class grid int getwidth const static const int kdefaultwidth 10 static const int kdefaultheight 10 pr...