인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

kimsc's profile image
kimsc

asked

Minimum C++ for C developers

Multiple Inheritance

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

Resolved

Written on

·

131

0

만약 기본 메서드로

  • virtual a() 를 정의한 후

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

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

 

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

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

 

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

c++microsoft-windows객체지향디자인-패턴

Answer 1

0

nullnull8537님의 프로필 이미지
nullnull8537
Instructor

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

kimsc's profile image
kimsc

asked

Ask a question