21xrx.com
2024-09-20 05:35:04 Friday
登录
文章检索 我的文章 写文章
C++第八章:函数重载和默认参数
2023-07-10 09:07:33 深夜i     --     --
C++ 第八章 函数重载 默认参数

C++的函数重载和默认参数是一种非常重要的特性,它们使得程序开发更加灵活和高效。本文将介绍C++中的函数重载和默认参数的概念、语法和使用方法。

函数重载是指在同一个作用域内定义了几个相同名称的函数,但它们有不同的参数列表。C++编译器会根据调用时传递的实参类型和数量确定调用哪一个函数。函数重载的语法格式为:


// 函数声明

(返回类型) 函数名(参数列表);

// 函数定义

(返回类型) 函数名(参数列表)

  // 函数体

例如,我们可以定义两个相同名称的函数print,一个输出整型数值,一个输出字符串:


void print(int num)

  cout << "Output int: " << num << endl;

void print(string str)

  cout << "Output str: " << str << endl;

在调用print函数时,我们只需要传递参数就可以自动调用响应的函数:


print(10); // 调用print(int num)函数

print("Hello, World!"); // 调用print(string str)函数

默认参数是指在函数定义时指定某些参数的默认值,如果在调用时没有传入这些参数,则会使用默认值。默认参数的语法格式为:


(返回类型) 函数名(参数列表 = 默认值);

例如,我们可以定义一个函数sum,它可以接受1~3个整型参数:


int sum(int a, int b = 0, int c = 0) {

  return a + b + c;

}

在调用sum函数时,我们可以只传递一个参数、两个参数或三个参数,第二个和第三个参数(如果不传递)都将使用默认值0:


cout << sum(10) << endl; // 输出10

cout << sum(10, 20) << endl; // 输出30

cout << sum(10, 20, 30) << endl; // 输出60

需要注意的是,在使用默认参数时,所有默认参数必须出现在参数列表的末尾。

函数重载和默认参数可以结合使用,例如我们可以定义一个函数print,它可以打印整数、浮点数和字符串,如果不传递第二个参数,则默认使用换行符作为分隔符:


void print(int num, string delim = "\n")

  cout << "Output int: " << num << delim;

void print(float num, string delim = "\n")

  cout << "Output float: " << num << delim;

void print(string str, string delim = "\n")

  cout << "Output str: " << str << delim;

在调用print函数时,我们可以只传递一个参数,或者传递两个参数并指定分隔符:


print(10); // 输出10,自动使用默认换行符

print(3.14, " "); // 输出3.14 和一个空格

print("Hello, World!", "\t"); // 输出Hello, World! 和一个制表符

函数重载和默认参数是C++中的关键特性,它们可以帮助我们简化程序的开发和调试,让我们的代码更加高效和灵活。熟练掌握这些语法和使用方法,将有助于我们成为一名更加优秀的C++程序员!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复