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

+ Recent posts