搜尋

首頁  >  問答  >  主體

c++中函数重载的原则是什么啊?

如题,我是应届生。这个问题是我面试的时候遇到的,找了很多,不知道正确的原则到底是什么。

怪我咯怪我咯2827 天前793

全部回覆(5)我來回復

  • ringa_lee

    ringa_lee2017-04-17 11:10:32

    函數重載的定義: 函數重載是指在同一作用域內,可以有一組具有相同函數名,不同參數列表的函數,這組函數被稱為重載函數。、

    所以原則就是相同的函數名,不同的參數列表。返回值不能作為重載依據。

    回覆
    0
  • 阿神

    阿神2017-04-17 11:10:32

    在C 類的繼承中,子類會繼承父類的函數. 當你用子類聲明一個對象後,調用這個對象裏的一個方法,恰好這個方法是從父類繼承來的,那麼將直接從父類調用該方法。然而,如果你在子類裏對也定義了同名的方法,那麼將從子類調用該方法,而不是從父類。而且父類的方法將被完全忽略。這就是函數重載的原則。

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:10:32

    這是函數重載的一個例子。

    #include <iostream>
    
    // volume of a cube
    int volume(int s)
    {
        return s*s*s;
    }
    
    // volume of a cylinder
    double volume(double r, int h)
    {
        return 3.14*r*r*static_cast<double>(h);
    }
    
    // volume of a cuboid
    long volume(long l, int b, int h)
    {
        return l*b*h;
    }
    
    int main()
    {
        std::cout << volume(10);
        std::cout << volume(2.5, 8);
        std::cout << volume(100, 75, 15);
    }
    

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 11:10:32

    函數重載的原則是,兩個函數功能很類似,隻有一點點差別(比如參數類型)。如果兩個函數實現的功能相差較大,則應該取不同的名字。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-17 11:10:32

    • 重載的函數必須以參數數量或者參數類型的不同來區分
    • 不同的函數調用實例使用的是相同的函數名字

    回覆
    0
  • 取消回覆