C++函数详解:默认形参值与函数重载

需积分: 9 1 下载量 7 浏览量 更新于2024-08-19 收藏 271KB PPT 举报
"讲解带默认形参值的函数在C++中的应用" 在C++编程语言中,函数是代码复用的基本单元,它们可以封装特定的功能,使得在程序中多次使用这些功能时只需简单调用即可。本课件主要讲解了函数的几个关键概念,包括函数的定义与使用、内联函数、带默认形参值的函数、函数重载、函数模板以及C++系统函数。 3.3 带默认形参值的函数 函数在声明时可以设定默认形参值。这意味着当函数被调用时,如果没有提供对应的实参,函数会自动使用预设的默认值。例如,下面的`add`函数定义了两个整数参数`x`和`y`,并分别为它们提供了默认值5和6: ```cpp int add(int x=5, int y=6) { return x + y; } ``` 这个函数可以以不同的方式被调用: 1. 提供两个实参,如`add(10, 20)`,结果将是10加20。 2. 只提供一个实参,如`add(10)`,另一个参数将使用默认值,即`add(10, 6)`。 3. 不提供任何实参,如`add()`,则两个参数都使用默认值,即`add(5, 6)`。 3.1 函数的定义与使用 函数的定义通常包含返回类型、函数名、形参列表以及函数体。形参列表中,每个形参都有其类型和名称。如果函数不返回值,其返回类型为`void`。例如,一个计算两数之和的函数`sum`可能如下定义: ```cpp int sum(int a, int b) { return a + b; } ``` 函数调用时,需要提供与形参匹配的实参。在调用之前,需要先声明函数原型,以告诉编译器函数的返回类型和参数类型。 3.3.1 函数调用 函数调用是通过函数名后面跟一个括号内的实参列表来实现的。例如,调用上面的`sum`函数可以写成`int result = sum(3, 4);`,这将返回7,并将结果赋值给`result`。 3.4 函数重载 函数重载允许在同一作用域内使用相同的函数名但具有不同的参数列表。这是C++的多态性的一种表现,它允许根据传入的参数类型或数量来选择合适的函数版本。 3.5 函数模板 函数模板是一种泛型编程工具,它可以生成针对不同数据类型的函数实例。例如,一个模板化的`swap`函数可以交换任意类型的数据: ```cpp template <typename T> void swap(T& a, T& b) { T temp = a; a = b; b = temp; } ``` 3.6 C++系统函数 C++标准库提供了大量预定义的系统函数,如输入输出流(iostream)、字符串操作(string)等,它们可以直接在程序中使用,无需程序员自己实现。 总结来说,C++中的函数是强大的工具,通过合理利用默认形参值、函数重载和模板,可以极大地提高代码的可读性和复用性。理解并熟练掌握这些概念对于编写高效、灵活的C++程序至关重要。