분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
다음은 문자열을 숫자로 변환하는 c++ 표준 함수이다.
double atof(const char* s);
이 함수가 정수와 배정도 정수를 반환하도록 다음과 같은 함수를 오버로딩 하고자 한다.
int atoi(const char* s);
long atol(const char* s);
이 함수들을 오버로딩하는 것이 불가능한 이유는 무엇인가?
정답 : 인자의 타입과 갯수가 같아서 컴파일러가 함수 구분을 하지 못함.
이라고 되어 있는데... 보시면 알겠지만 각각의 함수명이 다 다릅니다. atof, atoi, atol
오버로딩의 가장 큰 특징은 함수명이 같다는 전제에서 시작하며
거기에서 부터 '함수명이 같아도 변수타입과, 인자 갯수를 달리하여 함수를 구분할 수 있다.' 라는 것 아닌가요?
함수명이 다르고 인자타입과, 갯수가 같은것을 오버로딩이라 할 수 있는지, 문제가 좀 이상하다고 생각합니다.
아니면 제가 문제에 대한 접근방법이나 이해를 잘 못한거 같은데... 컴게 여러분의 조언을 듣고 싶습니다.
죄송합니다. 댓글 작성은 회원만 가능합니다.