如题,我是应届生。这个问题是我面试的时候遇到的,找了很多,不知道正确的原则到底是什么。
在C++类的继承中,子类会继承父类的函数. 当你用子类声明一个对象后,调用这个对象里的一个方法,恰好这个方法是从父类继承来的,那么将直接从父类调用该方法。然而,如果你在子类里对也定义了同名的方法,那么将从子类调用该方法,而不是从父类。而且父类的方法将被完全忽略。这就是函数重载的原则。
这是函数重载的一个例子。
#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);
}
3 回答1k 阅读✓ 已解决
1 回答926 阅读✓ 已解决
4 回答664 阅读
1 回答798 阅读
2 回答1.2k 阅读
1 回答840 阅读
1 回答602 阅读
函数重载的定义: 函数重载是指在同一作用域内,可以有一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数。、
所以原则就是相同的函数名,不同的参数列表。返回值不能作为重载依据。