매개변수의 디폴트 값

개발/C++ 문법 2012. 8. 6. 12:49

1. 매개변수에 설정하는 '디폴트 값'의 의미

int MyFunc(int num=10) 선언하는데, 이렇게 선언하는게 매개변수의 디폴트를 지정한다는 의미이다.

위와 같이 선언한다면, MyFunc(10); MyFunc(); 처럼 호출한다면 같은 의미가 되는 것이다.

* 부분적으로도 가능

int MyFunc(int num1=1, int num2=2) 선언하고, MyFunc(3) 호출시, MyFunc(3,2)로 호출된다.

* 주의 : 부분적 디폴트 값 설정시 반드시 오른쪽부터 채울 것을 요구, 함수에 전달되는 인자가 왼쪽에서부터 오른쪽으로 채워지기 때문입니다.

 ex ) int YourFunc(int num1=10, int num2, int num3){....} (X)

 int YourFunc(int num1, int num2, int num3=10){.....} (O)



2. 디폴트 값은 함수의 선언 부분에만 표현하면 된다.




'개발 > C++ 문법' 카테고리의 다른 글

이름공간(namespace)  (0) 2012.08.07
인라인 함수  (0) 2012.08.07
함수 오버로딩  (0) 2012.08.06
입출력 처리  (0) 2012.08.06
:

함수 오버로딩

개발/C++ 문법 2012. 8. 6. 12:23

C언어에서는

 int Myfunc(){........}

 int Myfunc(int num){...........}

 로 함수 정의시, Main에서 Myfunc(5);로 함수 호출하면, 함수 정의된 곳을 함수 이름만을 가지고 찾아가기 때문에, 어느 함수로 찾아가야할지 몰라 오류가 나게된다.


그런디, C++언어에스는 위와 같이 정의하고, 호출 했을시, 함수 이름(Myfunc)과 인자정보(5)를 가지고 해당 함수를 찾아가기 때문에, int Myfunc(int num)으로 정의된 함수로 제대로 찾아갈 수 있다.



'개발 > C++ 문법' 카테고리의 다른 글

이름공간(namespace)  (0) 2012.08.07
인라인 함수  (0) 2012.08.07
매개변수의 디폴트 값  (0) 2012.08.06
입출력 처리  (0) 2012.08.06
:

입출력 처리

개발/C++ 문법 2012. 8. 6. 12:10






'개발 > C++ 문법' 카테고리의 다른 글

이름공간(namespace)  (0) 2012.08.07
인라인 함수  (0) 2012.08.07
매개변수의 디폴트 값  (0) 2012.08.06
함수 오버로딩  (0) 2012.08.06
: