最近、次の質問に出くわしました。原因がわかりませんでした 誰か教えてください。
「Buffered」の親クラスは?なぜこれが親クラスとして選ばれたと思いますか? この親クラスを使用する際の主な制限は何ですか?
サンプルコード
template <typename T>
class Buffered : private boost::noncopyable
{
public:
explicit Buffered (const T& value = T())
: current_ (value), next_ (value) {}
virtual ~Buffered() {}
const T& get() const {
return current_;
}
void set (const T& value) {
next_ = value;
}
void skip() {
this->set(this->get());
}
void force(const T& value) {
next_ = current_ = value;
}
void flip() {
current_ = next_;
}
private:
T current_;
T next_;
};