<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C++多態(tài)與虛擬:函數(shù)重載(Function Overloading)

        重載(Overloading):所謂重載是指不同的函數(shù)實(shí)體共用一個(gè)函數(shù)名稱。例如以下代碼所提到的CPoint之中,有兩個(gè)member functions的名稱同為x():

      1 class CPoint{
      2 
      3 public:
      4     float x();
      5     void x(float xval);
      6 
      7 };

          其兩個(gè)member functions實(shí)現(xiàn)代碼如下:

      1 float CPoint::x(){return x;}
      2 void  CPoint::x(float xval){_x=xval;}

        函數(shù)名稱相同,但參數(shù)不同(個(gè)數(shù)不同,型別也不同),實(shí)現(xiàn)代碼也不相同。C++之所以有function overloading的機(jī)制,是為了解決因?yàn)閿?shù)據(jù)類型不同而需要設(shè)計(jì)多個(gè)算法相同,但函數(shù)名不同的函數(shù)代碼的問題。舉個(gè)例子,加法就是加法,如果為了int、float、double、long....各設(shè)計(jì)出對應(yīng)的AddInt()、AddFloat()、AddDouble()、AddLong()...等加法函數(shù),我們會(huì)覺得很煩鎖,不漂亮。如果能夠把它們?nèi)慷冀凶鯝dd(),而我們不管對哪種數(shù)據(jù)類型做加法運(yùn)算,都呼叫Add()就好,那么就運(yùn)算層面來看就清爽多了。至于底層機(jī)制,則由編譯器根據(jù)Add()所獲得的參數(shù)型別,決定真正該喚起哪一個(gè)Add()函數(shù)實(shí)體。于是,以加法為例,我們可以設(shè)計(jì)以下四個(gè)同名函數(shù):

      1 int     Add(int a,int,b);
      2 long    Add(long a,long b);
      3 double  Add(double a, double b); 
      4 float   Add(float a,float b);

        并這樣使用之:

      1      int    i=Add(3,5);
      2      long   l=Add(3L,5L);
      3      double d=Add(3.1415926,5.1615926);
      4      float  f=Add(3.14,5.14); 

        Function overloading 適用于class member functions (如先前的CPoint::x()),也適用于一般的global functions(如上術(shù)的Add()).

             Function overloading 無法適用于函數(shù)名稱相同,參數(shù)也完全相同,只有返回值不同的情況。這種情況將無法通過編譯,會(huì)出現(xiàn)報(bào)錯(cuò)提示:

        error C2556: 'Add' : overloaded functions only differ by return type

        我們已經(jīng)看到了,所謂的function overloading 只不過是讓諸多的函數(shù)實(shí)體可以采用相同的函數(shù)名稱,事實(shí)上你還是要編寫好幾份不同(但邏輯十分類式)的函數(shù)實(shí)現(xiàn)代碼。為了能夠解決因?yàn)閿?shù)據(jù)類型不同而需要設(shè)計(jì)多個(gè)算法相同,但函數(shù)名不同的函數(shù)代碼的問題,比較好的做法是把參數(shù)看作只有一種類型。C++ Template 可以辦到這一點(diǎn),我們將在往后的文章來談這個(gè)非常棒的主題。



      posted on 2024-04-24 23:00  阮春義  閱讀(210)  評論(0)    收藏  舉報(bào)

      導(dǎo)航

      主站蜘蛛池模板: 麻豆国产AV剧情偷闻女邻居内裤| 国产精品久久久尹人香蕉| 国产极品粉嫩学生一线天| 免费国产精品黄色一区二区| 亚洲日本va午夜在线影院| 狠狠色丁香婷婷综合尤物| 丝袜高潮流白浆潮喷在线播放| 国产毛片三区二区一区| 亚洲一区二区约美女探花| 久久精品国产成人午夜福利| 国产成人午夜福利院| 峨眉山市| 美女一区二区三区亚洲麻豆| 97在线精品视频免费| 汤阴县| 国产乱妇无乱码大黄aa片| 日本不卡片一区二区三区| 亚洲国产精品久久久天堂麻豆宅男 | 一区二区三区四区五区自拍| 中国性欧美videofree精品| 喷潮出白浆视频在线观看| 69天堂人成无码免费视频| 91九色国产成人久久精品| 国产午夜福利短视频| 蜜臀av色欲a片无人一区| 四虎亚洲精品高清在线观看| 亚洲一二三区精品美妇| 日韩内射美女人妻一区二区三区| 久久一级黄色大片免费观看| 97精品尹人久久大香线蕉| 亚洲人妻系列中文字幕| 少妇人妻精品无码专区视频| 邻水| 福利一区二区在线播放| 乐平市| 青青草一区在线观看视频| 日韩理伦片一区二区三区| 女人高潮被爽到呻吟在线观看| 欧美牲交a欧美牲交aⅴ一| 中文字幕第一页亚洲精品| 久久精品囯产精品亚洲|