게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c++ 오버로딩에 대한 이해가 되지 않습니다.
게시물ID : computer_80298짧은주소 복사하기
작성자 : Fairytale
추천 : 0
조회수 : 570회
댓글수 : 11개
등록시간 : 2013/03/08 14:31:41

다음은 문자열을 숫자로 변환하는 c++ 표준 함수이다.
double atof(const char* s);

 

이 함수가 정수와 배정도 정수를 반환하도록 다음과 같은 함수를 오버로딩 하고자 한다.
int atoi(const char* s);
long atol(const char* s);

 

이 함수들을 오버로딩하는 것이 불가능한 이유는 무엇인가?

 

 

정답 : 인자의 타입과 갯수가 같아서 컴파일러가 함수 구분을 하지 못함.

 

 

이라고 되어 있는데... 보시면 알겠지만 각각의 함수명이 다 다릅니다. atof, atoi, atol

오버로딩의 가장 큰 특징은 함수명이 같다는 전제에서 시작하며

거기에서 부터 '함수명이 같아도 변수타입과, 인자 갯수를 달리하여 함수를 구분할 수 있다.' 라는 것 아닌가요?

 

함수명이 다르고 인자타입과, 갯수가 같은것을 오버로딩이라 할 수 있는지, 문제가 좀 이상하다고 생각합니다.

아니면 제가 문제에 대한 접근방법이나 이해를 잘 못한거 같은데... 컴게 여러분의 조언을 듣고 싶습니다.

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호