搜索

首页  >  问答  >  正文

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

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

怪我咯怪我咯2809 天前779

全部回复(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
  • 取消回复