ssacontents

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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS