Prosto
Function Overloading 본문
C++에서는 C와 다르게 함수 오버로딩이 가능합니다.
(같은 이름의 함수를 재정의하고 사용할 수 있습니다.)
이는
int Func() {}
int Func(int a) {}
int Func(int a, int b) {}
int Func(char a) {}
와 같은 형식이 가능한 것입니다. (이름은 같지만 매개 변수형이나 인수 갯수가 다른 함수.)
C에서는 컴파일에러가 발생되겠지만, C++에서는 정상적으로 실행됩니다.
그 이유는 C에서와 다르게 C++에서는 함수를 (이름 + 전달인자)로 확인하기 때문입니다.
하지만,
int Func() {}
void Func() {}
와 같이 반환형만이 다른경우는 불가능합니다.
(이름과 전달인자로 확인하고 사용되기 때문.)
(같은 이름의 함수를 재정의하고 사용할 수 있습니다.)
이는
int Func() {}
int Func(int a) {}
int Func(int a, int b) {}
int Func(char a) {}
와 같은 형식이 가능한 것입니다. (이름은 같지만 매개 변수형이나 인수 갯수가 다른 함수.)
C에서는 컴파일에러가 발생되겠지만, C++에서는 정상적으로 실행됩니다.
그 이유는 C에서와 다르게 C++에서는 함수를 (이름 + 전달인자)로 확인하기 때문입니다.
하지만,
int Func() {}
void Func() {}
와 같이 반환형만이 다른경우는 불가능합니다.
(이름과 전달인자로 확인하고 사용되기 때문.)
'Programing > C++ Programing' 카테고리의 다른 글
클래스를 이용한 예제. (좌표 점 이동) (0) | 2011.09.27 |
---|---|
이름공간(name space) (0) | 2011.09.25 |
인라인(inline) 함수 (0) | 2011.09.25 |
매개변수의 디폴트 값. (0) | 2011.09.25 |
C++ 공부 시작. (0) | 2011.09.25 |