stack.cpp

来自「《c++ 实践之路》光盘中的源代码」· C++ 代码 · 共 39 行

CPP
39
字号
// (c) Bartosz Milewski 2000
#include "stack.h"
#include <cassert>
#include <iostream>

void IStack::Push (int i)
{
	assert (_top < maxStack);
	_arr [_top] = i;
	++_top;
}

int IStack::Pop ()
{
	assert (_top > 0);
	--_top;
	return _arr [_top];
}

StackSeq::StackSeq (IStack const & stack )
	: _iCur (0), _stack (stack) // init reference
{}

bool StackSeq::AtEnd () const
{
	return _iCur == _stack._top;  // friend: can access _top
}

void StackSeq::Advance ()
{
	assert (!AtEnd()); // not at end
	++_iCur;
}

int StackSeq::GetNum () const
{
	return _stack._arr [_iCur]; // friend: can access _arr
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?