C++相談室 part92
■ このスレッドは過去ログ倉庫に格納されています
0033デフォルトの名無しさん
2011/11/07(月) 12:05:24.51putが仮想関数ならそうだが>>26のputは仮想関数ではないしNVI使ってもないだろ。putにNVI使うなら
struct Base {
Base* duplicate () { return duplicate_xxx(); };
void put() const { put_(); }
private:
virtual Base* duplicate_xxx () { return this; };
virtual void put_() const { std::puts("Base::put"); }
};
struct Derived : public Base {
Derived* duplicate () { return duplicate_xxx(); };
private:
virtual Derived* duplicate_xxx () { return this; };
virtual void put_() const { std::puts("Derived::put"); }
};
■ このスレッドは過去ログ倉庫に格納されています