實驗目的和要求
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 在建構...