728x90
객체 포인터의 참조 관계
근로학생은 학생이자 사람이다.
따라서 상속관계는 다음과 같다.
class Student : public Person
{ };
class PartTimeStudent : public Student
{ };
따라서 아래와 같이 포인터 변수를 통해 참조가 가능하다.
Person * ptr = new Student();
Person * ptr = new PartTimeStudent();
Student * ptr = new PartTimeStudent();
다음과 같은 참조는 불가능하다. 모든 학생이 근로학생이란건 논리적으로도 맞지 않다.
PartTimeStudent * ptr = new Student();
Person * ptr;
따라서, 위와 같은 포인터 변수는, Person 클래스의 객체 또는 Person을 직간접적으로 상속하는 모든 클래스의 객체를 가리킬 수 있다. (객체 주소 값 저장 가능)
'Study > C++' 카테고리의 다른 글
상속의 이해 (0) | 2016.10.13 |
---|---|
상속 (0) | 2016.09.30 |
const, friend, static, mutable 선언 (0) | 2016.09.29 |
복사 생성자, 얕은 복사와 깊은 복사, 임시 객체 (0) | 2016.09.28 |
객체 배열과 this포인터 (0) | 2016.09.27 |