C++개념 리 셋,덮어 쓰기,숨겨 진 사용 설명
C++프로그램 에서 의미,기능 이 비슷 한 몇 개의 함 수 를 같은 이름 으로 표시 할 수 있 습 니 다.즉,함수 로 다시 불 러 올 수 있 습 니 다.
과부하 의 실현:
몇 개의 동명 의 과부하 함 수 는 여전히 다른 함수 인 데,그것들 은 어떻게 구분 합 니까?우 리 는 함수 인터페이스의 두 가지 요 소 를 자 연 스 럽 게 생각 했다.매개 변수 와 반환 값 이다.동명 함수 의 매개 변수 가 다 르 면(유형,순서 가 다 름 포함)서로 다른 함수 임 을 쉽게 구별 할 수 있 습 니 다.
구성원 함 수 를 다시 불 러 오고 덮어 쓰 는 특징:
(1)같은 범위(같은 종류 에서);
(2)함수 이름 이 같 음;
(3)매개 변수 가 다르다.
(4)virtual 키 워드 는 있어 도 되 고 없어 도 된다.
덮어 쓰 기 는 지 파 생 함수 덮어 쓰기 기본 함수 입 니 다.특징 은:
(1)서로 다른 범위(파생 류 와 기류 에 위치).
(2)함수 이름 이 같 음;
(3)매개 변수 가 같다.
(4)기본 함수 에는 virtual 키워드 가 있어 야 합 니 다.
숨겨 진 규칙:원래 리 셋 과 덮어 쓰기 만 구별 하 는 것 은 어렵 지 않 지만 C++의 숨겨 진 규칙 은 문제 의 복잡성 을 많이 증가 시 켰 다.여기 서'숨 기기'는 파 견 된 클래스 의 함수 가 같은 이름 의 기본 함수 와 차단 되 었 습 니 다.규칙 은 다음 과 같 습 니 다.
(1)파생 류 의 함수 가 기본 류 의 함수 와 동명 이지 만 매개 변 수 는 다르다.이 때 가상 키워드 가 있 든 없 든 기본 함수 가 숨겨 집 니 다(리 셋 과 헷 갈 리 지 않도록 주의 하 십시오).
(2)파생 류 의 함수 가 기본 클래스 의 함수 와 동명 이 고 매개 변수 도 같 지만 기본 함수 에는 virtual 키워드 가 없습니다.이 때 기본 클래스 의 함수 가 숨겨 집 니 다.