第八章實驗

2021-08-20 19:50:48 字數 2375 閱讀 5947

實驗目的和要求

1.能夠使用c++模板機制定義過載函式。

2.能夠例項化及使用模板函式。

3.能夠例項化和使用模板類。

4.應用標準c++模板庫(stl)通用演算法和函式物件實現查詢和排序。

實驗內容

1.分析並除錯下列程式,了解函式模板的使用。

#includeusing namespace std;    

template t max(t a,t b)

int main()

float max(float a,float b)

如果程式中有max('6','5');呼叫時會出現什麼錯誤?為什麼?上機除錯並分析原因。

定義函式過載後程式如下:

#includeusing namespace std;      

template t max(t a,t b)

int max(int a,int b)

float max(float a,float b)

int main()

char *max(char *a,char *b)

int main()

void dosort(bool up = true)

}

else//降序

}

}

}

}

private:

t *stores;

};

int main()

;

mysortmysort(nums);

mysort.dosort(true);//公升序

for(int i = 0; i < 10; i++)

printf("%d ", nums[i]);

printf("\n");

//float

float nums1[10] = ;

mysortmysort1(nums1);

mysort1.dosort(false);

for(int i = 0; i < 10; i++)

printf("%0.2f ", nums1[i]);

printf("\n");

// char

char chars[10] = ;

mysortmysort2(chars);

mysort2.dosort();

for(int i = 0; i < 10; i++)

printf("%c ", chars[i]);

printf("\n");

return 0;

}

如圖

4.宣告乙個整型陣列,使用c++標準模板庫(stl)中的查詢演算法find()進行資料的查詢,然後應用排序演算法sort()對資料進行公升序和降序排序。(sy8_4.cpp)

編寫程式如下:

分析與討論

1.結合實驗內容中第1題和第2題,說明編譯器匹配函式的過程。

2.結合實驗內容中第3題和第4題,比較利用自定義類模板排序和使用c++標準模板庫排序的過程。

實驗總結:

第八章實驗

實驗目的和要求 1.能夠使用c 模板機制定義過載函式。2.能夠例項化及使用模板函式。3.能夠例項化和使用模板類。4.應用標準c 模板庫 stl 通用演算法和函式物件實現查詢和排序。實驗內容 1.分析並除錯下列程式,了解函式模板的使用。includeusing namespace std templa...

第八章 指標實驗

1 問題的簡單描述 流程圖如下 2 實驗 includeint main 輸出結果 3 問題分析 無。1 問題的簡單描述 流程圖如下 2 實驗 includevoid swap1 int x,int y void swap2 int x,int y int main void swap1 int x...

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...