![]()
![]()
목차
1. 코드
2. 결과
3. 설명
본문내용
③ 설명
Point 클래스를 선언한다. 그 후 ColorPoint 클래스를 선언한다. ColorPoint 클래스는 Point 클래스를 상속받는다. main함수 영역에서 Point 클래스 객체 p, ColorPoint 클래스 객체 cp를 선언한다. cp객체의 set매개함수, setColor매개함수, ShowColorPoint매개함수를 차례로 실행한다. cp객체는 Point 클래스를 상속받은 ColorPoint 클래스로 만들어진 객체이므로 point 클래스의 매개함수도 포함하고 있다.
③ 설명
SmartTV클래스는 WideTV클래스를 상속받는다. 또한 WideTV클래스도 TV 클래스를 상속받는다. main함수 영역에서 “192.0.0.1” 문자열과 int타입 32로 SmartTV 클래스 htv객체를 생성한다. 생성 시 SmartTV생성자가 WideTV생성자 호출, WideTV생성자가 SmartTV 생성자를 호출한다. 따라서 TV생성자 실행 시 32값이 size변수에 들어가고, WideTV생성자 실행 시 true가 videoin변수에 저장되고, SmartTV생성자 실행 시 “192.0.0.1” 문자열이 ipAddr 변수에 저장된다. 그 후 htv객체의 멤버 변수 ipAddr, videoIn, size값을 출력한다.
③ 설명
Derived 클래스는 Base클래스를 상속받는다. Derived 클래스 객체 d를 선언하고, Derived 클래스 포인터 변수 pDer를 선언한다. pDer 포인터변수에 d객체의 주소값을 저장한다. 그 후 pDer변수에 indirect하여 멤버함수 f를 실행한다. -> Derived형이어서 Derived클래스의 멤버 함수 f가 실행된다.
Base 클래스 포인터 변수 pBase를 선언한다. pBase 포인터변수에 pDer값을 대입한다. 그 후 pBase 변수에 indirect하여 멤버함수 f를 실행한다. -> Base형이어서 Base클래스의 멤버 함수 f가 실행된다.
출처 : 해피캠퍼스
답글 남기기