C++的函式過載篇(一)
阿新 • • 發佈:2019-01-08
1、在c語言中是沒有函式過載的。
2、c++的函式過載可以使用函式模板來簡化重複的程式碼量,但是關於函式的過載有如下幾個限制:
a)它只適用於函式的引數個數相同而型別不同;
b)它只適用於函式體相同的情況;
下面是我測試的程式碼:OverloadModel.cpp
/* 1、函式模板的應用; */ #include <iostream> using namespace std; template <class T> T max(T a,T b,T c) { if(b>a)a=b; if(c>a)a=c; return a; } /* 注意事項: 1、注意開頭的template中的 typename不要寫成tempname; 2、typename可以替換為class,結果不變 */ int main() { int i1=1,i2=2,i3=3,i; i=max(i1,i2,i3); double j1=1.1,j2=1.2,j3=1.3,j; j=max(j1,j2,j3); float k1=2.1,k2=2.2,k3=2.3,k; k=max(k1,k2,k3); cout<<"i="<<i<<endl; cout<<"j="<<j<<endl; cout<<"k="<<k<<endl; return 0; }