函式模板與類模板

2021-08-03 12:02:09 字數 705 閱讀 6161

下面有關函式模板和類模板的說法正確的有?

a.函式模板的例項化是由編譯程式在處理函式呼叫時自動完成的

b.類模板的例項化必須由程式設計師在程式中顯式地指定

c.函式模板針對僅引數型別不同的函式

d.類模板針對僅資料成員和成員函式型別不同的類

答案:abcd

解析:模板(template)是一種強大的c++軟體復用特性,通常有兩種形式:函式模板和類模板。

函式模板針對僅引數型別不同的函式(答案c ok);類模板針對僅資料成員和成員函式型別不同的類(答案d ok)。

函式模板和類模板可以是程式設計師只需制定乙個單獨的**段,就可表示一整套稱為函式模板特化的相關(過載)函式或是表示一整套稱為類模板特化的相關的類。這種技術稱為泛型程式設計(generic programming)。

使用模板的好處在於,可以使程式設計師編寫與型別無關的**。

模板是乙個類家族的抽象,它只是對類的描述,

編譯程式不為類模板(包括成員函式定義)建立程式**,但是通過對類模板的例項化可以生成乙個具體的類以及該具體類的物件。 與

函式模板不同的是:

函式模板的例項化是由

編譯程式

在處理函式呼叫

時自動完成的(答案a正確),而類模板的例項化必須由

程式設計師 在程式中顯式地指定(答案b正確)

函式模板與類模板(模板類)

什麼是泛型程式設計?泛型程式設計 編寫與型別無關的通用 是 復用的一種手段。模板是泛型程式設計的基礎。模板分為函式模板和類模板 下面我們就來說說函式模板 函式模板與型別無關,在使用時被引數化,根據實參型別產生函式的型別版本 格式 template 返回值型別 函式名 引數列表 templatet1 ...

模板 函式模板與類模板

模板 template 是乙個將資料型別引數化的工具。模板分為函式模板和類模板兩種。在定義模板的時候不說明某些函式引數或者資料成員的型別,而將它們的資料型別作為模板引數。在使用模板時根據實參的資料型別確定模板引數即資料型別,從而得到模板的乙個例項。函式模板 function template 函式模...

函式模板與類模板

c 提供的函式模板可以定義乙個對任何型別變數進行操作的函式,從而大大增強了函式設計的通用性。使用函式模板的方法是先說明函式模板,然後例項化成相應的模板函式進行呼叫執行。函式模板的一般說明形式如下 template 模板形參表 返回值型別 函式名 模板函式形參表 其中,模板形參表 可以包含基本資料型別...