본문 바로가기

[C++]객체간의 형변환

반응형

클래스간의 형변환 이라고 보다는 객체간의 대입이라는 말이 더 잘 어울리는 말. 부모클래스의 객체를 자식클래스 객체에 대입하는 것은 불가능하다. 왜냐하면 객체의 대입이란 사실 모든 멤버 변수들의 1:1 대입을 의미하기 때문이다. 자식객체에는 없는 멤버가 부모클래스에는 있기 때문이다. 하지만 이 반대의 경우는 가능하다.

   

부모 객체와 자식 갹체에 공통적으로 있는 멤버들이 1:1로 대입된다.

   

#include "docwriter.h"

#include "htmlwriter.h"

   

int main()

{

  // HTMLWriter 객체 생성

  HTMLWriter hw( "test.html""HTMLWriter content");

   

  // DocWriter 객체 생성

  DocWriter dw;

   

  // dw 객체를 hw 객체에 대입

  dw = hw;

   

   

  // 파일 저장

  dw.Write();

   

  return 0;

}

   

   

값이 넘어가므로 형 변환이 일어난 것이다.

dw.write()를 사용하면 자식객체(HRMLWrite)에 있는 내용이 전부 넘어온다.

반응형

'About 프로그래밍!!! > C++' 카테고리의 다른 글

[C++]접근제어  (0) 2010.07.02
[C++]포인터간의 형변환  (0) 2010.07.02
[C++] 퀴즈1  (0) 2010.06.30
[C++] 포함.  (0) 2010.06.29
[C++]과제 3 객체로 만들어보기.//객체에서 배열쓰기.  (0) 2010.06.25
-->