C++において、オブジェクトのスライシングとは、
class base { int a; virtual const char* name() { return "base"; } };
class sub : public base { int b; virtual const char* name() { return "sub"; } };
void hoge(base& b) { base tmp = b; printf("%s\n", tmp.name()); } sub s; hoge(s); ...
hoge()では、"base"が表示される。