C++ 函数的重载用法解析
函数重载允许使用相同名称创建具有不同参数列表的函数,从而实现代码灵活性。规则包括:函数名称相同,参数列表不同,可不同类型或数量。例如,计算面积的类包含针对不同形状的重载函数,可根据形状类型调用对应函数计算面积。

C++ 函数的重载用法解析
什么是函数重载?
函数重载允许使用相同的名字创建具有不同参数列表的多个函数。这使得代码更加灵活和可重用。
重载函数的语法
returnType functionName(parameterList1); returnType functionName(parameterList2); ... returnType functionName(parameterListN);
其中:
returnType是函数的返回类型。functionName是函数的名称。parameterList是函数的参数列表。
重载函数的规则
- 函数名称相同。
- 参数列表不同。
- 参数列表中的参数类型或数量不同。
实战案例
假设我们有一个计算面积的类,具有针对不同形状的专门函数:
class Shape {
public:
virtual double area() const = 0;
};
class Rectangle : public Shape {
public:
Rectangle(double width, double height): width(width), height(height) {}
double area() const override {
return width * height;
}
private:
double width, height;
};
class Circle : public Shape {
public:
Circle(double radius): radius(radius) {}
double area() const override {
return M_PI * radius * radius;
}
private:
double radius;
};
要计算一个形状的面积,我们可以根据其类型调用相应的重载函数:
int main() {
Shape* shapes[] = { new Rectangle(2.0, 3.0), new Circle(1.0) };
for (int i = 0; i < 2; i++) {
std::cout << "Area of shape " << i << ": " <area() << std::endl;
}
return 0;
}
输出:
Area of shape 0: 6 Area of shape 1: 3.14159
注意:
- 重载函数的顺序不影响函数调用的结果。
- 重载函数可以具有不同的访问控制级别(例如 public、private)。
- 重载函数可以具有不同的默认参数值。
以上就是C++ 函数的重载用法解析的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!