승쨩개발공부

[C++] 함수, 함수 오버로딩 , 디폴트 매개 변수 본문

C++

[C++] 함수, 함수 오버로딩 , 디폴트 매개 변수

SeungHyune 2021. 11. 24. 20:31

함수

Input 이 있으면 Output이 있는 것.    y = f(x)

 

함수를 사용하는 이유

재사용성

함수를 한번 만들어 놓으면 사용자가 필요할 떄 언제 어디서든 사용할 수 있다.

1. 함수의 이름부터 정한다

2. 어떤 재료(매개변수,인자,피라미터) 가 필요한지 설정한다.

3. 기능을 구현한다.

4. 반환 타입을 설정한다.

 

 

함수의 형태

ex)

반환타입 함수이름( 재료(매개변수 / 인자 / 피라미터) )

{

 

}

 

반환 타입 : 함수를 수행 후 얻어진 결과를 내보낼 떄 사용한다.

내보낼 데이터가 있을경우 반환타입을 명시하지만

내보낼 데이터가 없을경우 void 라고 명시한다.

 

함수 이름 : 함수의 이름이다.

함수의 기능을 알아볼 수 있는 이름으로 지어주자.

 

매개 변수 : 함수의 기능을 수행하기 위해 필요한 재료들을 명시한다.

 

return : 함수 내부에서 사용하는 명령어.

수행 중인 함수를 종료시키는 명령어

return 뒤에는 반환할 데이터를 명시할 수 있다.

반환 타입이 void가 아닐 경우 return 뒤에 반환할 데이터를 명시한다.

 

함수 호출 (Function Call)

연산자를 사용해서 함수를 호출한다

() : 함수호출 연산자

함수이름 + ()

매개 변수의 정보가 있을 경우에는 ()안에 데이터를 명시한다.

 

ex) 정수값 2개를 받아 더한 결과를 반환하는 함수

 

int Add(int _a, int _b)
{
int iRes = 0;

iRes = _a + _b;

return iRes;
}

 

 

함수 오버로딩

동일한 이름으로 함수를 재정의하는 문법

단, 매개 변수의 정보를 다르게 만들어야 한다.

단, 반환 타입에 따른 오버로딩은 존재하지 않는다.

 

ex)

 

int Add(int _a, int _b)
{
return _a + _b;
}

double Add(double _a, double _b)
{
return _a + _b;
}

 

cout << Add(10, 20) << endl;   //  int Add
cout << Add(3.5, 3.5) << endl; // double Add

 

 

디폴트 매개 변수

매개변수의 값이 기본적으로 설정되어 있는 것.

 

디폴트 매개변수를 사용할 경우

함수를 호출할 때 매개변수가 부족할 경우에는 기본적으로 설정한 값들이 적용된다.
함수를 호출할 때 매개변수가 부족하지 않을 경우 매개변수로 넘겨주는 값들이 적용된다.

int Add(int _a, int _b = 0, int _c = 0, int _d = 0);

 

void main()

{

cout << Add(10, 20) << endl;
cout << Add(10, 20, 30) << endl;
cout << Add(10, 20, 30, 40) << endl;

}

 

 

 

'C++' 카테고리의 다른 글

[C++] 배열  (0) 2021.11.24
[C++] 포인터 / const포인터  (0) 2021.11.24
[C++] 반복문(while, do while, for)  (0) 2021.11.24
[C++] 분기문 (if , switch)  (0) 2021.11.23
[C++] 연산자 / 형 변환  (0) 2021.11.23