• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • c++中函數重載的相關知識

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    函數重載是用來描述同名函數具有相同或者相似功能,但數據類型或者是參數不同的函數管理操作的稱呼! 我們來舉一個實際應用中的例子來說明問題:我們要進行兩種不同數據類型的和操作為了實現它,在c語言中我們就要寫兩個不同名稱的涵數來進行區分例如:int testa(

    函數重載是用來描述同名函數具有相同或者相似功能,但數據類型或者是參數不同的函數管理操作的稱呼!

    我們來舉一個實際應用中的例子來說明問題:我們要進行兩種不同數據類型的和操作為了實現它,在c語言中我們就要寫兩個不同名稱的涵數來進行區分例如:int testa(int a,int b)和float testb(float a,floatb),這樣字是沒有問題,但是總有一點不好,這么兩個具備極其相似操作函數我們卻起兩個不同的名字,這樣子不是很好管理,所以c++為了方便程序員編寫程序特別引入了函數重載的概念來解決此問題,我們看看如下的代碼!

    //程序作者:管寧
    //站點:www.cndev-lab.com
    //所有稿件均有版權,如要轉載,請務必著名出處和作者

    #include <iostream>
    using namespace std;
    int test(int a,int b);
    float test(float a,float b);
    void main()
    {
    cout << test(1,2) << endl << test(2.1f,3.14f) << endl;
    cin.get();
    }

    int test(int a,int b)
    {
    return a+b;
    }

    float test(float a,float b)
    {
    return a+b;
    }


    在上面的程序中我們同樣使用了兩個名為test的函數來描述int類型和操作的和float類型和操作,這樣一來就方便了程序員對相同或者相似功能函數的管理!

    看了上面的解釋很多人會問,這么一來計算機該如何來判斷同名稱函數呢?操作的時候會不會造成選擇錯誤呢?

    回答是否定的,c++內部利用一種叫做名稱粉碎的機智來內部重命名同名函數,上面的例子在計算重命名后可能會是testii和testff 他們是通過參數的類型或個數來內部重命名的,關于這個作為程序員不需要去了解它,說一下只是為了解釋大家心中的疑問而已,好了,關于函數學重載的基礎知識就說到這里,至于如何利用這個功能,就靠大家在日常的學習或者是工作中逐漸摸索了!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>