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;}
總結
? 函數定義包括返回類型、參數列表和函數體
。
? 調用時傳遞參數,默認值傳遞
。
? 常見樣式有無參、無返回值、有默認參數等。
? 分文件編寫時需聲明函數原型,便于模塊化和代碼管理。