int MyFunc(int num){
num++;
return num;
}
int MyFunc(int a, int b){
return a+b;
}
int main(void){
MyFunc(20); // MyFunc(int num) ํจ์ ํธ์ถ
MyFunc(30, 40); // MyFunc(int a, int b) ํจ์ ํธ์ถ
return 0;
}
C++์ ํจ์ ํธ์ถ ์ 'ํจ์์ ์ด๋ฆ'๊ณผ '์ ๋ฌ๋๋ ์ธ์์ ์ ๋ณด'๋ฅผ ๋์์ ์ฐธ์กฐํ์ฌ ํธ์ถํ ํจ์๋ฅผ ๊ฒฐ์ ํ๋ค.
๋ฐ๋ผ์ ๋งค๊ฐ๋ณ์์ ์ ์ธ์ด ๋ค๋ฅด๋ค๋ฉด ๋์ผํ ์ด๋ฆ์ ํจ์๋ ์ ์ ๊ฐ๋ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ํํ์ ํจ์ ์ ์๋ฅผ ๊ฐ๋ฆฌ์ผ 'ํจ์ ์ค๋ฒ๋ก๋ฉ'์ด๋ผ ํ๋ค.
๐ ํจ์ ์ค๋ฒ๋ก๋ฉ ์กฐ๊ฑด (์๋ 3๊ฐ ์กฐ๊ฑด ๋ชจ๋ ๋ง์กฑ)
1. ๋ฐํํ์ด ๊ฐ์ ๊ฒ
2. ํจ์์ ์ด๋ฆ์ด ๊ฐ์ ๊ฒ
3. ๋งค๊ฐ๋ณ์์ ๊ฐฏ์๋ ์๋ฃํ์ด ๋ค๋ฅผ ๊ฒ
// ๋งค๊ฐ๋ณ์์ ์๋ฃํ์ด ๋ค๋ฅด๋ฏ๋ก ํจ์ ์ค๋ฒ๋ก๋ฉ ์ฑ๋ฆฝ
int MyFunc(char c);
int MyFunc(int n);
// ๋งค๊ฐ๋ณ์์ ์๊ฐ ๋ค๋ฅด๋ฏ๋ก ์ค๋ฒ๋ก๋ฉ ์ฑ๋ฆฝ
int MyFunc(int n);
int MyFunc(int n1, int n2);
// ๋ฐํํ์ ์ฐจ์ด๋ ํจ์ ์ค๋ฒ๋ก๋ฉ์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค์ง ์๋๋ค
void MyFunc(int n);
int MyFunc(int n);
๐ฉ ๋งค๊ฐ๋ณ์์์ '๋ํดํธ ๊ฐ'
int MyFunc(int num = 7){
return num+1;
}
์ธ์๋ฅผ ์ ๋ฌํ์ง ์์ผ๋ฉด 7์ด ์ ๋ฌ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
์ฌ๊ธฐ์์ ๋ํดํธ ๊ฐ์ 7๋ก, ์ด ํจ์๋ฅผ ๋์์ผ๋ก ํ๋ ๋ค์ ๋ ํจ์์ ํธ์ถ์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๊ฐ๋ค.
MyFunc();
MyFunc(7);
๐ ๋ํดํธ ๊ฐ์ ํจ์์ ์ ์ธ์๋ง ์์นํ๋ค.
#include <iostream>
int Adder(int num1=1, int num2=2); // ํจ์ ์ ์ธ
int main(void){
std::cout << Adder() << std::endl;
}
int Adder(int num1, int num2){
return num1+num2;
}
ํจ์์ ์ ์ธ์ ๋ณ๋๋ก ๋ ๋์๋ ๋ํดํธ ๊ฐ์ ์ ์ธ์ ํจ์์ ์ ์ธ๋ถ์ ์์น์์ผ์ผ ํ๋ค.
์? ์ปดํ์ผ๋ฌ๋ ํจ์์ ๋ํดํธ ๊ฐ์ ์ง์ ์ฌ๋ถ๋ฅผ ์์์ผ ํจ์์ ํธ์ถ ๋ฌธ์ฅ์ ์ ์ ํ ์ปดํ์ผํ ์ ์๊ธฐ ๋๋ฌธ์
๐ ๋ถ๋ถ์ ์ผ๋ก๋ ๋ํดํธ ๊ฐ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
๋งค๊ฐ๋ณ์์ ์ผ๋ถ์๋ง ๋ํดํธ ๊ฐ์ ์ง์ ํ๊ณ , ์ฑ์์ง์ง ์์ ๋งค๊ฐ๋ณ์์๋ง ์ธ์๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
int MyFunc(int num1, int num2=5, int num3= 7);
MyFunc(10); // MyFunc(10,5,7);
MyFunc(10,20); // MyFunc(10,20,7);
์ ๋ฌ๋๋ ์ธ์๊ฐ ์ผ์ชฝ๋ถํฐ ์ฑ์์ง๋ฏ๋ก, ๋ํดํธ ๊ฐ์ ์ค๋ฅธ์ชฝ๋ถํฐ ์ฑ์์ ธ์ผ ํ๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ ๋ฐ์
'๐ฉโ๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ํ๋ก๊ทธ๋จ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ | C++ ํ์ค ํค๋ (0) | 2024.04.17 |
---|---|
[C++] const | new & delete | friend | static (0) | 2024.04.17 |
[C++] ์ด๋ฆ๊ณต๊ฐ(namespace) | ๋ฒ์์ง์ ์ฐ์ฐ์ (0) | 2024.04.14 |
[C++] inline ํจ์ cf. ๋งคํฌ๋ก ํจ์ (0) | 2024.04.14 |
[C++] printf์ scanf๋ฅผ ๋์ ํ๋ ์ ์ถ๋ ฅ ๋ฐฉ์ (0) | 2024.04.14 |