컴퓨터/C++5 c++의 가상함수 가상함수1. 가상함수 기본 개념집고 넘어가는 다형성 : 자식은 부모의 역할을 할 수 있는데, 부모는 자식의 역할을 할 수 없다.포인터 타입의 양면성 : 포인터가 가르치는 객체의 타입(동적 타입), 포인터가 선언될 당시의 타입(정적 타입)int* a; char b = 'c'; a = &b; //a의 정적 타입은 int, a의 동적 타입은 char객체 포인터에다 '기본' 함수를 호출하면 정적 타입에 명시된 함수가 호출된다. (정적 바인딩)객체 포인터에다 '가상' 함수를 호출하면 동적 타입에 명시된 함수가 호출된다. (동적 바인딩)동적 바인딩을 구현하는 방식은 컴파일러마다 다르지만 일반적으로 vTable으로 구현한다.virtual함수를 생성하면 그 클래스 이하 모든 자식 클래스에게 vPtr을 멤버로 (몰래)생.. 2015. 3. 10. 이전 1 2 다음