• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수 오버로드 관련 질문

21.01.24 11:00 작성 조회수 160

3

getCents 맴버함수를 2개를 정의하셨습니다.

맴버함수와 일반 c함수와의 차이인지 모르겠습니다만,  7단원에서의 강의중(함수 오버로드)에서는 '전달인자는 같고, 리턴 타입의 차이만으로는 있는 함수오버로드를 할수 없다'라고 설명하셨습니다.

그런데, getCents 맴버함수는 리턴 타입만 차이가 있는 상태에서 함수 오버로드를 하셨는데요.

차이가 궁금합니다.

답변 1

답변을 작성해보세요.

1

안소님의 프로필

안소

2021.01.24

안녕하세요!

int getCents() const

int& getCents()

이 두 함수는 리턴 타입의 차이가 아닌 뒤에 붙은 const 로 오버로드가 된 것입니다.

뒤에 const 가 붙어있는 멤버 함수는  오직 const 객체만이 호출할 수 있습니다. 그렇기에 오버로드 고려 사항이 됩니다.

<8.9 클래스와 const> 강의에서 설명해 주셨었습니다.