공부/[2018] C++

[2018.11.06] C++ 프로그래밍2 및 실습 복습(상속, 업캐스팅, 다운캐스팅, 가상함수)

창작꾼 븐틴이 2018. 11. 6. 20:34
728x90
반응형

중간고사 == 망침


ㅎㅎㅎㅎㅎ


S = (short)i;

이 명시적 형변환을 할 때에, (short)는 '캐스팅 연산자' 이다.


업캐스팅

- 포인터 사이의 형 변환을 의미

작은 걸 크게 만든다?


1. 업 캐스팅은 파생 객체의 포인터가 기반 객체의 포인터로 '형 변환' 하는 것이다.

2. 참조가능한 영역이 축소됨(선언이 되는 타입에 따라 제약이 생김)

3. 컴파일러에서 자동 형 변환이됨.


다운캐스팅

- 파생 클래스로 선언된 포인터 변수에 기반 클래스로 선언된 주소를 저장하는 것이다.

- 자동으로 형 변환을 해주지 않는다.(업캐스팅만 해줌)


더 공부해야 하므로 예제 끄적끼적




접근제어 지시자와 상속을 연계한 예제





상속할 때 접근제어 지시자를 public이 아닌 다른 지시자로 변경




업캐스팅, 다운캐스팅 예제






응용 예제1. RPG






위를 보면 Knight가 아니고 Player의 이동, 공격이 나온다.


그래서 '가상 함수' 처리

(순수(완전)가상함수)




추가 예제 응용



728x90
반응형