인프런 커뮤니티 질문&답변

Seongc좋은ᅵᅵheol Kim님의 프로필 이미지
Seongc좋은ᅵᅵheol Kim

작성한 질문수

C개발자를 위한 최소한의 C++

다중 상속

virtual 함수와 관련하여 질문 있습니다.

해결된 질문

작성

·

101

0

만약 기본 메서드로

  • virtual a() 를 정의한 후

  • 첫번째 파생 클래스에서는 a() 로 정의를 하였습니다.

  • 마지막 파생 클래스에서도 a() 로 정의했다면 어떻게 동작하는지 궁금해서 여쭤 봅니다.

 

제 생각에는 기본하고 첫번째 파생 사이에는 virtual 처럼 즉 기본을 호출해도 파생이 호출될 거 같은데

두번째 파생시에는 virtual 의 성격이 사라질 거 같습니다.

 

확인 부탁드립니다. 강사님

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

가상 함수는 참조형식이 어떻건 무조건 마지막 재정의된 함수가 호출됩니다. 그리고 가상 함수 선언은 일단 한 번 선언하면 하위 파생형식에서 굳이 virtual 선언을 하지 않아도 가상 함수로 선언됩니다. 참고하시기 바랍니다. 😄

Seongc좋은ᅵᅵheol Kim님의 프로필 이미지
Seongc좋은ᅵᅵheol Kim

작성한 질문수

질문하기