본문 바로가기

C++

[C++]상속 & 포함관계

- Is-a 관계 => 상속관계
- Has-a 관계 => 포함관계(객체멤버로 포함)

재정의 / 중복정의
재정의 : Overriding
중복정의 : Overloading

부모클래스 > 자식클래스

자식객체를 부모클래스에 대입 : upcasting, 가능
특징
 - 물려받은 것만 대입이 가능
 - 업캐스팅 한것은 다운 캐스팅도 가능

Ex)
 Shape *ps = new Rectangle();
 Shape ps2 = new Shape();
 ps->setOrigin(10, 10);
 ps->draw();
 ((Rectangle *) ps) ->setWidth(100); <- 가능
 (Rectangle *) ps2.setWidth(100); <- 불가능
 delete ps;

부모객체를 자식클래스에 대입 : downcasting, 불가능

다형성을 형성 하기 위해서는 밑에것이 필요한다.
(상속관계)
1, 멤버함수 재정의
2. 가상함수
3. 업캐스팅 => 재정의된 멤버함수

'C++' 카테고리의 다른 글

[C++] 순수 가상 함수와 추상클래스 그리고 업캐스팅  (0) 2010.10.04
다형성 (Polymorphism)  (0) 2010.09.30
[C++]생성자와 소멸자  (0) 2010.09.10
클래스의 구성  (0) 2010.09.02
string 클래스  (0) 2010.08.30