C++

Object slicing 이란?

샬룻 2017. 9. 19. 01:08

C++ Programming에서 Object Slicing 이란.

SubClass type의 Object가 SuperClass type에 복사 할 때 Object Slicing이 발생한다.

이때, SuperClass에는 SubClass에 정의된 변수가 없다.



For example

class A {
   int foo;
};

class B : public A {
   int bar;
};

B Class는 foo과 bar 두개의 멤버변수를 가진다.




B b;

A a = b;

a변수에 b를 대입 하면,  저장할 곳이 없어서 bar 데이터를 복사하지 못한다.