English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 문서에서는 기본 매개변수가 무엇인지, 그 사용법 그리고 필요한 선언에 대해 배울 것입니다.
C ++프로그래밍에서, 제공할 수 있습니다함수매개변수의 기본 값
기본 매개변수 뒤에 숨은 아이디어는 간단합니다. 함수에 매개변수를 전달하여 호출하면, 이 매개변수는 함수에서 사용됩니다.
하지만, 함수를 호출할 때 매개변수를 전달하지 않으면 기본 값을 사용합니다。
기본 값이 함수 원형의 매개변수에 전달됩니다。
// c++프로그램이 기본 매개변수의 작동 방식을 보여줍니다 #include <iostream> using namespace std; void display(char =)*', int = 1); int main() { cout << "\n매개변수가 전달되지 않습니다:\n"; display(); display('#'); cout << "\n두 매개변수가 전달됩니다:\n"; display('$', 5); return 0; } void display(char c, int n) { for(int i = 1; i <= n; ++i) { cout << c; } cout << endl; }
출력 결과
매개변수가 전달되지 않습니다: * 첫 번째 매개변수가 전달됩니다: # 두 매개변수가 전달됩니다: $$$$$
위의 프로그램에서 기본 값이 할당된 매개변수 void display(char ='*'int = 1);
먼저, display()에 어떤 매개변수도 전달하지 않고 함수를 호출합니다. 이 경우, display() 함수는 기본 매개변수 c = *와 n = 1을 사용합니다。
그런 다음, 두 번째로 함수를 호출할 때는 첫 번째 매개변수만 전달합니다. 이 경우, 함수는 전달된 첫 번째 기본 값을 사용하지 않습니다. 실제로 첫 번째 매개변수로 전달된 c = #를 사용하며, 기본 값 n = 1으로 전달됩니다.
제3 번 display()가 호출될 때 두 매개변수를 전달합니다. 두 매개변수 모두 기본 매개변수를 사용하지 않습니다. 전달된 값은 c = $와 n = 5.
void add(int a, int b =) 3, int c, int d = 4);
위의 함수는 컴파일되지 않습니다. 두 매개변수 사이에 기본 매개변수를 건너뛰지 못합니다。
이 경우 c에 기본 값이 할당되어야 합니다。
void add(int a, int b =) 3, int c, int d);
위의 함수는 컴파일되지 않습니다. 매개변수 b 이후에 각 매개변수에 기본 값을 제공해야 합니다.
이 경우, c와 d도 기본 값이 할당되어야 합니다.
기본 값이 필요하다면, 해당 매개변수가 마지막 매개변수인 것을 확인하십시오. 예를 들어: void add(int a, int b, int c, int d = 4);
함수가 여러 가지 작업을 수행하거나 로직이 너무 복잡하다면 사용할 수 있습니다. 함수 오버로드로직을 더 잘 분리합니다.
기본 값을 사용하든지라도 항상 하나의 목적을 위한 함수를 작성해야 합니다.