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

C++ 函数的重载用法解析
什么是函数重载?
函数重载允许使用相同的名字创建具有不同参数列表的多个函数。这使得代码更加灵活和可重用。
立即学习“C++免费学习笔记(深入)”;
重载函数的语法
returnType functionName(parameterList1); returnType functionName(parameterList2); ... returnType functionName(parameterListN);
其中:
95Shop可以免费下载使用,是一款仿醉品商城网店系统,内置SEO优化,具有模块丰富、管理简洁直观,操作易用等特点,系统功能完整,运行速度较快,采用ASP.NET(C#)技术开发,配合SQL Serve2000数据库存储数据,运行环境为微软ASP.NET 2.0。95Shop官方网站定期开发新功能和维护升级。可以放心使用! 安装运行方法 1、下载软件压缩包; 2、将下载的软件压缩包解压缩,得到we
-
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 << ": " << shapes[i]->area() << std::endl;
}
return 0;
}输出:
Area of shape 0: 6 Area of shape 1: 3.14159
注意:
- 重载函数的顺序不影响函数调用的结果。
- 重载函数可以具有不同的访问控制级别(例如 public、private)。
- 重载函数可以具有不同的默认参数值。










