C++

C++ 실습 문제 16 (virtual function, function overriding)

안도일 2022. 5. 14. 02:10

1. 가상 함수를 선언하여 오버라이딩을 통해 가상 함수를 호출하시오

가상 함수를 선언하여 파생 클래스인 d가 함수 f()를 호출할 때 기본 클래스의 f()함수는 존재감을 상실하여 파생 클래스의 f()가 실행된다.

업 캐스팅을 해서 동적 바인딩이 발생하면 기본 클래스에 대한 포인터가 객체 내에 오버라이딩한 파생 클래스의 함수를 찾아 실행함.

 

 

 

2. Shape 클래스를 기본 클래스로 하는 파생 클래스를 생성하고 가상 함수 draw()로 파생 클래스의 인터페이스를 보여주는 프로그램을 작성하시오.

메인 함수
shape 클래스 선언부
shape 클래스 구현부
Circle 클래스 선언부
Circle 클래스 구현부

이하 Rect, Line 클래스 위와 동일