conv_stk.cpp

来自「c c++最佳编程 1000 多个小技巧 源码」· C++ 代码 · 共 50 行

CPP
50
字号
#include <iostream.h>

const int SIZE=100;

class stack {
   int stck[SIZE];
   int tos;
 public:
   stack(void) {tos=0;}
   void push(int i);
   int pop(void);
   operator int(void) {return tos;}        // converts stack to int
 };

void stack::push(int i)
 {
   if(tos==SIZE)
    {
      cout << "Stack is full." << endl;
      return;
    }
   stck[tos++] = i;
}

int stack::pop(void)
 {
   if(tos==0)
    {
      cout << "Stack underrun." << endl;
      return 0;
    }
    
    return stck[--tos];
 }

void main(void)
 {
   stack stck;
   int i, j;

   for(i=0; i<20; i++)
      stck.push(i);
   j = stck;                  // convert to integer
   cout << j << " items on stack." << endl;
   cout << (SIZE - stck) << " spaces open." << endl;
   
 }


⌨️ 快捷键说明

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