c10-
来自「C++面向对象课程设计课件」· 代码 · 共 52 行
TXT
52 行
class IntStack
{
enum {ssize=100};
int stack[ssize];
int top;
public:
IntStack():top(0) {}
void push(int i) { stack[top++]=i; }
int pos() { return stack[--top]; }
class iterator;
friend iterator;
class iterator
{
IntStack& s;
int index;
public:
iterator(Intstack& is):s(is),index(0){}
iterator(Intstack& is,bool):s(is),index(s.top){}
int current() const { return s.stack[index]; }
int operator++() { return s.stack[++index];}
int operator++(int) { return s.stack[index++];}
iterator& operator+=(int amount) { index+=amount; return *this; }
bool operator==(const iterator& rv) cosnt { return index==rv.index;}
bool operator!=(const iterator& rv) cosnt { return index!=rv.index;}
};
iterator begin() { return iterator(*this); }
iterator end() { return iterator(*this); }
};
int main()
{
IntStack is;
for (int i=0;i<20;i++)
is.push(i);
IntStack::iterator it=is.begin();
while (it !=is.end())
{
//do somthing
++it;
}
IntStack::iterator start=is.begin(),end=is.begin();
start+=5;
end+=15;
while( start!=end){
{
//do something
start++;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?