C++相談室 part56
■ このスレッドは過去ログ倉庫に格納されています
0276デフォルトの名無しさん
2007/08/11(土) 23:40:11template<class derived_t>
class TLogPolicy {
public:
void log() { log_ += (static_cast<derived_t*>(this))->data_ + "\n"; };
protected:
TLogPolicy() {};
private:
std::string log_;
};
class TManager : public TLogPolicy<TManager> {
public:
void test() { log(); };
private:
std::string data_;
friend TLogPolicy<TManager>;
};
けっこう有名なテクニックだとおもうけど?
■ このスレッドは過去ログ倉庫に格納されています