해결된 질문
작성
·
101
0
만약 기본 메서드로
virtual a() 를 정의한 후
첫번째 파생 클래스에서는 a() 로 정의를 하였습니다.
마지막 파생 클래스에서도 a() 로 정의했다면 어떻게 동작하는지 궁금해서 여쭤 봅니다.
제 생각에는 기본하고 첫번째 파생 사이에는 virtual 처럼 즉 기본을 호출해도 파생이 호출될 거 같은데
두번째 파생시에는 virtual 의 성격이 사라질 거 같습니다.
확인 부탁드립니다. 강사님
답변 1
0
가상 함수는 참조형식이 어떻건 무조건 마지막 재정의된 함수가 호출됩니다. 그리고 가상 함수 선언은 일단 한 번 선언하면 하위 파생형식에서 굳이 virtual 선언을 하지 않아도 가상 함수로 선언됩니다. 참고하시기 바랍니다. 😄