안녕하세요~ 인자의 초기화에 대한 질문입니다~ (_ _)

익명 사용자의 이미지

void MethodName(argument* p = NULL);

클래스를 정의할때 메쏘드를 클래스 내부에서 선언하지요? 그런데 그때 위와 같이
인자 뒤에 어떤 값을 넣어주는 경우가 있더군요.
보통 어떤 때에 저렇게 인자를 초기화하고, 그 효과는 무엇인지 설명해주시면
감사하겠습니다~

그럼 즐코딩~

익명 사용자의 이미지

음 저렇게 인자에 값을 대입하는 식으로 정의하면

값을 정해주지 않았을때 정의한 값으로 초기화 된다는 의미임

가령
void test(int a)
{

}

위의 함수는 호출시 반드시 a값을 지정해 주어야 작동함

그러나,
void test(int a=3)
{

}
이렇게 하면 인자값을 지정하지 않고 호출하면
3을 지정한것으로 간주됨