자식 클래스의 포인터를 사용해서 부모 객체를 가리키는 경우.
//부모 객체성성
DocWriter dw;

// 자식 클래스의 포인터로 부모 객체를 가리킨다.
HTMLWriter* phw = &dw    // 실패
  • 이 경우에는 컴파일러 자체 판단인 암시적 형변환을 허용하지 않음
  • (HTMLWriter*) 같은 명시적 형변환은 허용하지만 이후 문제는 작성자 몫.
  • 위 경우에는 문제 발생

  • 포인터가 아니라 레퍼런스를 사용한 경우에도 상황은 똑같다.
  • 객체 기준으로 호출 우선시할 수 있게 하는것은 아래와 같이 부른다.
    • 자바 :: Abstract Method
    • C++  :: Virtual Function
저작자 표시
신고

'컴퓨터 언어 > C++' 카테고리의 다른 글

오버라이딩  (0) 2012.12.20
가상함수를 이용한 다형성 구현  (0) 2012.12.20
다중상속(Multiplex inheritance)  (0) 2012.12.20
접근제어 키워드  (0) 2012.12.20
포인터간의 형 변환, 레퍼런스간의 형변환  (0) 2012.12.20
레퍼런스  (0) 2012.12.20


티스토리 툴바