第七章 習題

2021-08-20 23:39:54 字數 2620 閱讀 3851

函式模板:乙個帶類屬引數的函式。

類模板:乙個帶類屬引數的類。

模板函式 :通過引數例項化可以再構造出具體的函式。

模板類:通過引數例項化可以再構造出具體的類。

(1)c++支援兩種模板,一種是函式模板,另一種是類模板

(2)關鍵字template是定義模板的關鍵字。

(3)《模板引數》中包含乙個或多個用逗號分開的模板引數項,每一項由保留字class或者typename開始。

(4)過載函式模板便於定義類屬引數或者函式引數的型別、個數不相同所進行的類似操作。

(5)函式模板例項化時,沒有普通傳值引數的型別轉換機制。

(6)stl提供的容器是常用資料結構的類模板

(7)stl容器類庫包含7種基本容器。他們可以分成兩組:順序容器關聯容器

(8)stl迭代器主要包括5種基本類別:輸入迭代器輸出迭代器前向迭代器雙向迭代器隨機訪問迭代器

(1)關於函式模板,描述錯誤的是(a

a、函式模板必須由程式設計師例項化為可執行的模板函式

b、模板函式的例項化有編輯器實現

c、乙個類定義中,只要有乙個函式模板,則這個類是類模板

d、類模板的成員函式都是函式模板,類模板例項化後,成員函式也隨之例項化

(2)下列模板說明中,正確的是(a

a、template

b、template

c、template(class t1,class t2)

d、template(typename t1 ,t2)

(3)假設有函式模板定義如下:

template

max(t a,t b, t&c)

下列選項正確的是(ab

a、float x ,y ;float z;

max(x ,y ,z);

b、int x,y,z;

max(x,y,z);

c、int x,y;float z;

max(x,y,z);

d、float x; double y ,z;

max(x,y,z);

(4)建立類模板物件的例項化過程為(c

a、基類 ——>派生類

b、建構函式——>物件

c、模板類——>物件

d、模板類——>模板函式

(5)下面(abd)是標準模板庫中的主要元件。

a、容器

b、迭代器

c、檔案

d、演算法

(1)乙個模板函式能夠被相同函式名的另外模板函式過載。 (

(2)作為模板型別引數的關鍵字class,特別含義是「任何使用者定義類的型別」。 (

(3)在類模板《模板參數列》中,必須至少有乙個類引數。 (

(4)在類模板《模板參數列》中,可以使用函式型別引數,該引數與普通函式引數的用法和功效完全相同。 (

(5)迭代器就是我們平常所用的指標。 (

(1)用函式模板實現求整數實數平方根的程式。

編寫程式如下:

#include 

#include

using

namespace

std;

template

t kaifang(t a)

int main( )

程式輸出結果如下:

(2)設計乙個類模板,然後將該類模板例項化為整數型和字元觀類。利用類模板的成員函式為其資料成員賦值,並顯示所賦給的值。

#include 

using

namespace

std;

template

class classtemple

void dispdata()

;int main( )

執行結果:

第七章課後習題

1.this的三種用法 this.域變數 this.成員方法,在一些容易混淆的場合,借助this來明確表示用的是類的域變數 this 引數 引用過載的構造方法 this指代當前物件。super的兩種用法 super.域變數 super.成員方法 super 引數 繼承構造方法。2.1 用new建立物...

第七章 課後習題

某公司招聘人員,其要求為學歷本科及以上,專業為計算機 通訊 自動化,年齡22 30歲,請劃分個條件的有效等價類和無效等價類 有效等價類 無效等價類 學歷本科及以上 本科以下 專業計算機 通訊自動化 非計算機 非通訊非自動化 年齡22 30歲 小於22 大於30 以下 用於判斷閏年,由c語言書寫。其對...

第七章作業習題答案

1 某磁碟存貯器轉速為3000轉 分,共有4個記錄面,每公釐5道,每道記錄資訊為12288位元組,最小磁軌直徑為230mm,共有275道。問 1 磁碟存貯器的容量是多少?275 12288 4 13516800 b 1320kb 12.89mb 2 最高位密度與最低位密度是多少?最高位密度按最小半徑...