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"が表示される。