C++相談室 part91
■ このスレッドは過去ログ倉庫に格納されています
0607デフォルトの名無しさん
2011/10/22(土) 22:10:03.25protected:
std::list<Base*> list_;
public:
class iterator {
std::list<Base*>::iterator base_;
public:
iterator(std::list<Base*>::iterator i) : base_(i) {}
Base* operator*(){ return *base_; }
};
iterator begin() { return iterator(list_.begin()); }
};
class DerivedList : public BaseList {
public:
class iterator : public BaseList::iterator {
public:
iterator(std::list<Base*>::iterator i) : BaseList::iterator(i) {}
Derived* operator*(){ return static_cast<Derived*>(BaseList::iterator::operator*()); }
};
iterator begin() { return iterator(list_.begin()); }
};
うーん…
■ このスレッドは過去ログ倉庫に格納されています