y‰SŽÒнŒ}zC/C++Ž ..
515:ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
09/03/24 08:30:05
‰‰ŽZŽq‚̃I[ƒo[ƒ[ƒh‚ɂ‚¢‚ÄŽ¿–₪‚ ‚è‚Ü‚·BSTL‚ÌIterator‚Ý‚½‚¢‚ÉA
List<int> *list = new List<int>();
llist.push_back(1);
llist.push_back(2);
for(Iterator* iter = (ListIterator<int>*)list->iterator(); iter->hasNext(); iter++){
printf("%d ", (*iter));
}
‚±‚̂悤‚È‘‚«•û‚ª‚Å‚«‚邿‚¤‚Ƀ\[ƒXƒR[ƒh‚ð‘‚«‚½‚¢‚̂ł·‚ª‚¤‚Ü‚‚¢‚«‚Ü‚¹‚ñB
ˆÈ‰º‚ªi‘S•”Ú‚¹‚é‚ɂ͂µ’·‚¢‚Ì‚ÅjŽ©•ª‚̃\[ƒX‚Ì”²ˆ‚Å‚·B
class Iterator{
public:
//È—ª
virtual bool hasNext() = 0;
virtual Iterator<Type> &next() = 0;
virtual Iterator<Type> &operator++() = 0;
virtual Type& operator*() = 0;
};
template <class Type> class ListIterator : Iterator<Type>{
public:
//È—ª
Iterator<Type>& operator++ (int dummy){
return next();:
}
Type& operator*(){
return value;//Œ»ÝƒCƒeƒŒ[ƒ^‚ªŽw‚µ‚Ä‚¢‚éƒZƒ‹‚Ì“à—e
}
}
‚±‚̂悤‚É’è‹`‚µ‚½‚à‚Ì‚ðã‚̂悤‚ÉŽÀs‚·‚邯A4227856‚̂悤‚È”Žš‚ª˜A‘±‚µ‚Ä•\ަ‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B‚Ü‚½Afor•¶‚̂Ƃ±‚ë‚ÅŽÀsŽžƒGƒ‰[‚ªo‚Ü‚·B
‚Ç‚¤‘‚«’¼‚¹‚΂悢‚Å‚µ‚傤‚©ccB
(‘f’¼‚É‚r‚s‚kŽg‚¦‚Á‚Ęb‚È‚ñ‚Å‚·‚ª‚Ëcc‚n‚s‚k)
ŽŸƒy[ƒW‘±‚«‚ð•\ަ1‚ð•\ަÅVƒŒƒX•\ަƒXƒŒƒbƒh‚ÌŒŸõ—ÞŽ—ƒXƒŒˆê——˜b‘è‚̃jƒ…[ƒX‚¨‚Ü‚©‚¹ƒŠƒXƒg¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ‰É‚‚Ԃµ2ch
5011“ú‘O‚ÉXV/258 KB
’S“–:undef