今天就跟大家聊聊有關(guān)C++中怎么進行函數(shù)重載,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、成都響應式網(wǎng)站建設公司、程序開發(fā)、微網(wǎng)站、微信小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的成都網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體,具備承接不同規(guī)模與類型的建設項目的能力。
函數(shù)重載要求編譯器能夠***地確定調(diào)用一個函數(shù)時應執(zhí)行哪個函數(shù)代碼,即采用哪個函數(shù)實現(xiàn)。確定函數(shù)實現(xiàn)時,要求從函數(shù)參數(shù)的個數(shù)和類型上來區(qū)分。這就是說,進行函數(shù)重載時,要求同名函數(shù)在參數(shù)個數(shù)上不同,或者參數(shù)類型上不同。否則,將無法實現(xiàn)重載。
參數(shù)類型上不同的重載函數(shù)下面舉一個在參數(shù)類型不同的重載函數(shù)的例子:
#include int add(int, int); double add(double, double); void main() { cout< cout< } int add(int x, int y) { return x+y; } double add(double a, double b) { return a+b; }
該程序中,main()函數(shù)中調(diào)用相同名字add的兩個函數(shù),前邊一個add()函數(shù)對應的是兩個int型數(shù)求和的函數(shù)實現(xiàn),而后邊一個add()函數(shù)對應的是兩個double型數(shù)求和的函數(shù)實現(xiàn)。這便是函數(shù)的重載。
下面舉一個在參數(shù)個數(shù)上不相同的重載函數(shù)的例子:
#include int min(int a, int b); int min(int a, int b, int c); int min(int a, int b, int c, int d); void main() { cout< cout< } int min(int a, int b) { return a } int min(int a, int b, int c) { int t = min(a, b); return min(t,c); } int min(int a, int b, int c, int d) { int t1 = min(a, b); int t2 = min(c, d); return min(t1, t2); }
該程序中出現(xiàn)了C++ 函數(shù)重載,函數(shù)名min對應有三個不同的實現(xiàn),函數(shù)的區(qū)分依據(jù)參數(shù)個數(shù)不同,這里的三個函數(shù)實現(xiàn)中,參數(shù)個數(shù)分別為2,3和4,在調(diào)用函數(shù)時根據(jù)實參的個數(shù)來選取不同的函數(shù)實現(xiàn)。
C++ 函數(shù)重載在類和對象應用比較多,尤其是在類的多態(tài)性中。在以后我們將碰到更多的在類型不同的函數(shù)重載,尤其是在結(jié)合類的繼承性和指針類型的不同,而這些都是我們以后用VC編程中經(jīng)常要用到的。
看完上述內(nèi)容,你們對C++中怎么進行函數(shù)重載有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章題目:C++中怎么進行函數(shù)重載
分享路徑:http://aaarwkj.com/article48/iiosep.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、移動網(wǎng)站建設、網(wǎng)站建設、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)