函数重载允许使用相同名称创建具有不同参数列表的函数,从而实现代码灵活性。规则包括:函数名称相同,参数列表不同,可不同类型或数量。例如,计算面积的类包含针对不同形状的重载函数,可根据形状类型调用对应函数计算面积。
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 << ": " << shapes[i]->area() << std::endl; } return 0; }
登录后复制
输出:
Area of shape 0: 6 Area of shape 1: 3.14159
登录后复制
注意:
- 重载函数的顺序不影响函数调用的结果。
- 重载函数可以具有不同的访问控制级别(例如 public、private)。
- 重载函数可以具有不同的默认参数值。
以上就是C++ 函数的重载用法解析的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:老板不要肥肉,转转请注明出处:https://www.dingdanghao.com/article/370402.html