• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

24.03.15 11:22 작성 조회수 58

0

만약 기본 메서드로

  • virtual a() 를 정의한 후

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

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

 

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

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

 

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

답변 1

답변을 작성해보세요.

0

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