欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C++中函數(shù)重載、覆蓋與隱藏詳解

C++ 中函數(shù)重載、覆蓋與隱藏詳解

站在用戶的角度思考問題,與客戶深入溝通,找到海南州網(wǎng)站設(shè)計與海南州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋海南州地區(qū)。

在C++語言中,函數(shù)扮演著很重要的角色,不管面向過程設(shè)計,還是基于對象設(shè)計;不管是面向?qū)ο缶幊?,還是基于泛型編程,函數(shù)都可以隨處而見。在談?wù)揅++中的函數(shù)重載、覆蓋和隱藏之前,先回顧下函數(shù)的基礎(chǔ)知識。

函數(shù)的聲明包括函數(shù)的返回值類型,函數(shù)名稱,參數(shù)列表(參數(shù)的類型、參數(shù)的個數(shù)、參數(shù)的順序)。例如,聲明一個兩個整數(shù)之和的函數(shù),int iAdd(int iNum1,int iNum2);而函數(shù)的定義可以理解為對函數(shù)功能的詳盡而準(zhǔn)確的解說,通俗點(diǎn),就是實(shí)現(xiàn)函數(shù)“how to do?”的效能。兩個整數(shù)之和函數(shù)的定義如下:

int iAdd(int iNum1,int iNum2)
{
   return (iNum1+iNum2);
}

       仔細(xì)觀察函數(shù)的聲明和定義,我們不難發(fā)現(xiàn),函數(shù)的定義就是除掉函數(shù)聲明后面的分號,換之成大括號,在大括號里面實(shí)現(xiàn)函數(shù)的功能。雖然在某些情況下,可以容許不對函數(shù)進(jìn)行聲明,只需要對函數(shù)定義,就能調(diào)用函數(shù)了。但是,強(qiáng)烈建議養(yǎng)成先聲明函數(shù),然后再定義函數(shù),最后在調(diào)用函數(shù)的良好習(xí)慣。關(guān)于函數(shù)的基礎(chǔ)知識,暫時論述到這。

       現(xiàn)在,進(jìn)入本文的主題。函數(shù)重載(function overload),它是在同一可訪問區(qū)域內(nèi)部聲明具有幾個不同參數(shù)列(參數(shù)的類型、參數(shù)的個數(shù),參數(shù)的順序)的相同函數(shù)名稱的一種機(jī)制,函數(shù)的調(diào)用是根據(jù)不同的參數(shù)類型和最佳匹配原則確定最終使用那個函數(shù)。函數(shù)覆蓋(function override)是在派生類中完全一致性地聲明了父類中的函數(shù),區(qū)別在于函數(shù)定義中的大括號之間的內(nèi)容可以不同,并且該函數(shù)在父類中有關(guān)鍵字virtual標(biāo)識;函數(shù)隱藏(function hide)是指在派生類中函數(shù)與父類函數(shù)完全一致,但是在父類中該函數(shù)沒有關(guān)鍵字virtual標(biāo)識,或者是指在派生類中函數(shù)與父類的函數(shù)名相同,參數(shù)列表不一樣,父類中的該函數(shù)可有也可無關(guān)鍵字virtual標(biāo)識。

函數(shù)重載的特征:相同的范圍內(nèi)(在同一個類中),函數(shù)的名稱相同,參數(shù)列表不同,virtual關(guān)鍵字可有可無;函數(shù)覆蓋的特征:在不同的范圍內(nèi)(父類與派生類),函數(shù)的名字相同,參數(shù)列表相同,父類函數(shù)必須有關(guān)鍵字virtual;函數(shù)隱藏的特征:在不同范圍內(nèi)(父類與派生類),函數(shù)的名字相同,參數(shù)列表相同,但是父類函數(shù)沒有關(guān)鍵字virtual或者,參數(shù)列表不相同,父類函數(shù)中virtual關(guān)鍵字可有可無。

為了直觀地理解,請看下面的代碼。

#include<iostream>
using namespace std;
class A
{
public:
   void print(int iNum)
   {
     cout<<"在類A中,參數(shù)類型是整型"<<endl;
   }
   void print(float fNum)
   {
     cout<<"在類A中,參數(shù)類型是單精度浮點(diǎn)型"<<endl;
   }
 virtual void print(void)
   {
     cout<<"在類A中,參數(shù)類型是空類型"<<endl;
   }
};
class B:public A
{
public:
   void print( void)
   {
     cout<<"在類B中,參數(shù)類型是空類型"<<endl;
   }
 
   void print(int iNum)
   {
     cout<<"在類B中,參數(shù)類型是整型"<<endl;
   }
 };
int main()
{
   A a;
   B b;
  //函數(shù)的重載
   a.print();
   a.print(1);
   a.print(1.0f);
  //函數(shù)的覆蓋
   b.print();
 //函數(shù)的隱藏
   b.print(1);
  return 0;
}

      運(yùn)行結(jié)果是:

   在類A中,參數(shù)類型是空類型
   在類A中,參數(shù)類型是整型
   在類A中,參數(shù)類型是單精度浮點(diǎn)型
   在類B中,參數(shù)類型是空類型
   在類B中,參數(shù)類型是整型

     通過上述代碼和運(yùn)行的結(jié)果,簡明地知道了函數(shù)重載,覆蓋和隱藏。恰當(dāng)里利用這些特性,可以編寫出更加有效、清晰和精簡的代碼。                           

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

網(wǎng)站欄目:C++中函數(shù)重載、覆蓋與隱藏詳解
當(dāng)前URL:http://www.aaarwkj.com/article42/pjciec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、外貿(mào)建站定制開發(fā)、網(wǎng)站改版搜索引擎優(yōu)化、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
国产精品亚洲精品欧美| 日韩精品在线观看你懂的 | 久久亚洲中文字幕精品一区四区| 97视频精品在线播放| 日本高清三级精品一区二区| 国产成人亚洲欧美激情| 综合国产精品久久久久久| 一区二区三区高清人妻| 最新在线中文字幕av不卡| 午夜精品四季av日日骚| 欧美丝袜熟女日韩亚洲| 亚洲中文有码在线播放| 日本一区二区中文字幕在线| 亚洲国产成人精品福利| 国产成人综合亚洲欧美在线| 日产中文乱码字幕无线观看| 夜夜高潮夜夜爽免费观看| 日韩精品激情视频在线| 久久碰国产一区二区三区| 亚洲一区在线观看激情| 欧美日韩精品综合国产| 亚洲精品一区二区三区小| 精品国产三级a在线观看网站| 亚洲欧美熟妇欲乱又伦| 欧美内射专区精品一区| 欧美日韩国产精品高清| 欧美一区二区国产日韩在线| 日韩黄av在线免费观看| 成人自拍偷拍在线视频| 麻豆国产传媒片在线看| 亚洲欧美激情国产综合久久| 国产亚洲精品久在线| 久久99久久久久久精品| 国产传媒在线观看精品| 饥渴少妇高潮特殊按摩| 国产亚洲一区二区三区av| 日本欧美精品一区二区三区| 一区二区三区欧美日| 色一区欧美一区亚洲一区| 在线播放亚洲一区二区三区| 久久久久精品国产亚洲av影院|