U E D R , A S I H C RSS

Hardcore Cpp Study/첫숙제/Overloading/변준원

◎ 디폴트 전달인자
C++의 새로운 특징 중 하나인 디폴트 전달인자를 살펴보자. 디폴트 전달인자는 함수의 호출에서 대응되는 실제 매개변수를 빠뜨렸을 때 자동적으로 사용되는 값이다.

전달인자 리스트를 가지고 함수를 사용할 때에는 디폴트 전달인자를 오른쪽에서 왼쪽의 순서로 첨가해야 한다. 즉, 어떤 전달인자의 값을 내정하려면 그 전달인자보다 오른쪽에 있는 모든 전달인자를 디폴트 전달인자로 해야 한다.

int harpo(int, int m = 4, int j = 5); //맞음
int chico(int n, int m = 6, int j); //틀림
int groucho(int k = 1, int m = 2, int n = 3); //맞음

beeps = harpo(2); //harpo(2,4,5)와 같음
beeps = harpo(1,8); //harpo(1,8,5)와 같음
beeps = harpo(8,7,6); //디폴트 전달인자를 사용하지 않음

실제 전달인자는 왼쪽에서 오른쪽으로 가면서 해당 형식 전달인자에 대입된다. 전달인자를 건너뛸 수는 없다. 따라서 다음과 같은 것은 허용되지 않는다.

beep = harpo(3, ,8); //m을 4로 설정하지 않았으므로 틀림

8.7 참고-디폴트 전달인자를 가진 문자열 함수

◎ 함수의 다형성(함수의 재정의)
다음은 함수의 다형성에 대하여 알아보자. 디폴트 전달인자는 개수를 변화시켜 가면서 같은 함수를 호출하게 했다. 함수의 다형성은 함수의 재정의라고도 하는데, 이는 여러 개의 함수가 같은 이름을 사용할 수 있게 해준다. ‘다형성’이라는 표현은 많은 형태를 가질 수 있게 해 준다.

함수 재정의의 중요한 열쇠는 함수의 전달인자 리스트인데, 이것을 함수의 시그내처라고도 한다.

8.8 참고-left() 함수의 재정의
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:22
Processing time 0.0379 sec