函式的過載與泛型函式
阿新 • • 發佈:2018-12-17
#include"iostream" using namespace std; template <typename elemType> //泛型設計 void print(elemType *pBegin, elemType *pEnd) { while(pBegin != pEnd) { cout << *pBegin; ++pBegin; } } /*函式的過載*/ //void print(int *pBegin, int *pEnd) //{ // while(pBegin != pEnd) // { // cout << *pBegin; // ++pBegin; // } //} // //void print(char *pBegin, char *pEnd) //{ // while(pBegin != pEnd) // { // cout << *pBegin; // ++pBegin; // } //} int main() { int num[5] = {0, 1, 2, 3, 4}; char name[5] = {'F', 'i', 's', 'h', 'c'}; print(num, num+5); cout << '\n'; print(name, name+5); cout << '\n'; return 0; }
函式的上的定義泛型函式,自適應輸入的函式的型別,遮蔽段為函式過載。
過載函式是函式的一種特殊情況,為方便使用,C++允許在同一範圍中宣告幾個功能類似的同名函式,但是這些同名函式的形式引數(指引數的個數、型別或者順序)必須不同,也就是說用同一個運算子完成不同的運算功能。這就是過載函式。過載函式常用來實現功能類似而所處理的資料型別不同的問題。不能只有函式返回值型別不同。