新聞中心
C++函數(shù)是C++ 語(yǔ)言程序的主要組成部分,一個(gè)函數(shù)可以調(diào)用其他函數(shù)。在設(shè)計(jì)良好的程序中,每個(gè)函數(shù)都有特定的目的,下文著重介紹C++函數(shù)如何解決繼承、重載的問(wèn)題,保證其容真實(shí)反應(yīng)實(shí)際的函數(shù)。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供當(dāng)陽(yáng)網(wǎng)站建設(shè)、當(dāng)陽(yáng)做網(wǎng)站、當(dāng)陽(yáng)網(wǎng)站設(shè)計(jì)、當(dāng)陽(yáng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、當(dāng)陽(yáng)企業(yè)網(wǎng)站模板建站服務(wù),10余年當(dāng)陽(yáng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
另一個(gè)實(shí)現(xiàn)是求兩個(gè)浮點(diǎn)型數(shù)之和,再一個(gè)實(shí)現(xiàn)是求兩個(gè)復(fù)數(shù)的和。每種實(shí)現(xiàn)對(duì)應(yīng)著一個(gè)函數(shù)體,這些函數(shù)的名字相同,但是函數(shù)的參數(shù)的類型不同。這就是函數(shù)重載的概念。C++函數(shù)重載在類和對(duì)象的應(yīng)用尤其重要。
函數(shù)重載要求編譯器能夠***地確定調(diào)用一個(gè)函數(shù)時(shí)應(yīng)執(zhí)行哪個(gè)函數(shù)代碼,即采用哪個(gè)函數(shù)實(shí)現(xiàn)。確定函數(shù)實(shí)現(xiàn)時(shí),要求從函數(shù)參數(shù)的個(gè)數(shù)和類型上來(lái)區(qū)分。這就是說(shuō),進(jìn)行函數(shù)重載時(shí),要求同名函數(shù)在參數(shù)個(gè)數(shù)上不同,或者參數(shù)類型上不同。否則,將無(wú)法實(shí)現(xiàn)重載。
參數(shù)類型上不同的重載函數(shù)下面舉一個(gè)在參數(shù)類型不同的重載函數(shù)的例子:
- #include
- int add(int, int);
- double add(double, double);
- void main()
- {
- cout<
(5, 10)< ; - cout<
(5.0, 10.5)endl; - }
- int add(int x, int y)
- {
- return x+y;
- }
- double add(double a, double b)
- {
- return a+b;
- }
該程序中,C++函數(shù)中調(diào)用相同名字add的兩個(gè)函數(shù),前邊一個(gè)add()函數(shù)對(duì)應(yīng)的是兩個(gè)int型數(shù)求和的函數(shù)實(shí)現(xiàn),而后邊一個(gè)add()函數(shù)對(duì)應(yīng)的是兩個(gè)double型數(shù)求和的函數(shù)實(shí)現(xiàn)。這便是函數(shù)的重載。下面舉一個(gè)在參數(shù)個(gè)數(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<
(13, 5, 4, 9)< ; - cout<
(-2, 8, 0)< ; - }
- int min(int a, int b)
- {
- return a?a:b;
- }
- 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)了函數(shù)重載,C++函數(shù)名min對(duì)應(yīng)有三個(gè)不同的實(shí)現(xiàn),函數(shù)的區(qū)分依據(jù)參數(shù)個(gè)數(shù)不同,這里的三個(gè)函數(shù)實(shí)現(xiàn)中,參數(shù)個(gè)數(shù)分別為2,3和4,在調(diào)用函數(shù)時(shí)根據(jù)實(shí)參的個(gè)數(shù)來(lái)選取不同的函數(shù)實(shí)現(xiàn)。
函數(shù)重載在類和對(duì)象應(yīng)用比較多,尤其是在類的多態(tài)性中。在以后我們將碰到更多的在類型不同的函數(shù)重載,尤其是在結(jié)合類的繼承性和指針類型的不同,而這些都是我們以后用VC編程中經(jīng)常要用到的。
網(wǎng)站題目:漫談C++函數(shù)重載
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/cocgeic.html


咨詢
建站咨詢
