在 C++ 中声明和定义函数有以下几种方式:
- 函数声明和定义放在同一个文件中:
// 函数声明 返回值类型 函数名(参数列表); // 函数定义 返回值类型 函数名(参数列表) { // 函数体 }
- 函数声明和定义分开,声明放在头文件中,定义放在源文件中: 头文件:
// 函数声明 返回值类型 函数名(参数列表);
源文件:
// 函数定义 返回值类型 函数名(参数列表) { // 函数体 }
- 使用默认参数:
// 函数声明 返回值类型 函数名(参数列表 = 默认值); // 函数定义 返回值类型 函数名(参数列表) { // 函数体 }
- 使用函数模板:
// 函数声明(函数模板) template返回值类型 函数名(参数列表); // 函数定义(函数模板) template 返回值类型 函数名(参数列表) { // 函数体 }
注意事项:
- 函数名可以由字母、数字和下划线组成,不能以数字开头。
- 返回值类型可以是任何有效的数据类型,包括基本数据类型、自定义类型和指针类型等。
- 参数列表可以包含零个或多个参数,每个参数由参数类型和参数名组成,多个参数之间用逗号分隔。
- 函数声明可以省略参数名,只保留参数类型,例如:
int add(int, int);
。 - 如果函数没有返回值,则返回值类型应为
void
。 - 如果函数没有参数,则参数列表为空,例如:
void printHello();
。 - 函数模板允许以通用的方式定义和使用函数,可以根据实际需要在调用时指定具体的类型。