C ++ 함수 오버로드 연구 노트 레슨 여덟

연구 노트의 내용에서 : Ditai 소프트웨어 대학 Tangzuo 린 선생님의 비디오, 당신의 지침을 주셔서 감사합니다

기능 과부하 조건 :

  1. 다른 매개 변수의 수
  2. 다른 순서로 매개 변수
  3. 다른 인수 유형

오버 기능을 하나의 조건에 부합

컴파일러는 오버로드 된 함수 기준을 호출

후보의 함수와 같은 이름의 1. 모든
가능한 후보 함수를 찾을 2. 봅니다
(1) 정확히 인수 일치하는
기본 매개 변수 인수 일치하여 (2)
기본 인수 형식 변환기를 일치시켜 (3)
3. 기능 반환 형식을 아니 기저 함수 오버로드로서

일치에 실패 :
1. 마지막 후보, 모호성이 발생이 컴파일에 실패하는 유일한 함수가 아닙니다 발견했다. 예를 들면 :

int func(int a,int b,int c=0)
{
  return a*b*c;
}

int func(int a,int b)
{
  return a+b;
}

(1, 2) FUNC를 호출 할 때 모호성이 발생, 컴파일이 실패합니다.
2. 모든 지원자는 함수가 정의되어 있지, 일치하지 않을 수 컴파일이 실패합니다.

PS는 : 오버 기능 사이 때 어드레스 주소와 동일하지 함수와 무관

게시 15 개 원래 기사 · 원의 칭찬 0 · 조회수 (102)

추천

출처blog.csdn.net/u012321968/article/details/104450135