티스토리 뷰

C & C++

[C++] Virtual 키워드 사용하기

강씨아저씨 2016. 2. 1. 21:42


요즘 여기저기 프로그램 테스트본다고 다니느라 포스팅을 못했다.

 

더 밀리기 전에 오랜만에 포스팅을 해봐야겠다.

 

Virtual 키워드에 대한 개념은 이미 알고 있을것이라고 생각해서 따로 정리하지는 않겠다. 

 

다음 문제는 모 게임회사의 코딩테스트 문제중 일부였다.

 

 

다음과 같은 코드가 있을때 출력되는 결과와 이유를 적으라고 한다

 

출력결과는 예상대로 BB였다.

 

Virtual 키워드를 사용한 함수는 호출될때 실제 메모리에 할당된 클래스(B)에 정의되어 있는 함수를 1순위로

 

호출된다. 그래서 부모타입(A)으로 사용하여도 자식 클래스에서 정의되어 있다면 실제메모리에 할당된 클래스(B)에

 

맞는 함수가 호출된다.

 

그렇다면 A클래스 함수의 virtual이 없다면 출력결과는 어떻게 될까?

 

출력결과는 AB이다.

 

잊어 먹지 말자~

 

누군가에게는 작은도움이 되었기를 바라면서 오늘의 포스팅 끝~

댓글