C++相談室 part43
■ このスレッドは過去ログ倉庫に格納されています
009695
2005/08/19(金) 15:22:03class DoSomething {
public:
void Unregister(Base*);
void Action() {
obj_.push_back(Derived<DoSomething>(&DoSomething::Unregister));
//以下略
}
private:
list<Base*> obj_;
};
template <class Manager>
class Derived : Base {
Derived((typename Manager::*Unregister)(Base*)) : Unregister_(Unregister) {}
void F() {
(*Unregister_)(this);
}
private;
void (typename Manager::*Unregister_)(Base*);
};
どういう設計が良いのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています