C++中的函数是实现代码复用
和模块化
的基本单元。下面从定义、调用、参数传递、常见样式、声明和分文件编写等方面进行介绍。
1. 函数定义
函数定义包括返回类型、函数名、参数列表和函数体:
返回类型 函数名(参数列表) {// 函数体return 返回值; // 如果返回类型不是void
}
示例:
int add(int a, int b) {return a + b;
}
2. 函数调用
直接使用函数名和参数即可调用:
int result = add(3, 5); // 调用add函数,result为8
3. 值传递
C++函数参数默认采用值传递,即将实参的值复制
一份传递给形参,函数内对形参的修改不会影响
实参。
示例:
void foo(int x) {x = 100;
}
int main() {int a = 10;foo(a);std::cout << a << std::endl; // 输出10,a未被修改
}
4. 常见的函数样式
• 无参无返回值:
void printHello() {std::cout << "Hello" << std::endl;}
• 有参无返回值
void printNum(int n) {std::cout << n << std::endl;}
• 有参有返回值:
double square(double x) {return x * x;}
• 默认参数:
int sum(int a, int b = 5) {return a + b;}
5. 函数声明
在函数定义前或分文件编写时,需要先声明函数原型:
int add(int a, int b); // 声明
6. 分文件编写
通常将函数声明放在头文件(.h)
,定义放在源文件(.cpp)
,调用时包含头文件。
示例:
• add.h
#pragma onceint add(int a, int b);
• add.cpp
#include "add.h"int add(int a, int b) {return a + b;}
• main.cpp
#include <iostream>#include "add.h"int main() {std::cout << add(2, 3) << std::endl;return 0;}
总结
• 函数定义包括返回类型、参数列表和函数体
。
• 调用时传递参数,默认值传递
。
• 常见样式有无参、无返回值、有默认参数等。
• 分文件编写时需声明函数原型,便于模块化和代码管理。