⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 staken.cpp

📁 本课程主要介绍面向对象程序设计的方法和c++语言的基本概念。以c++语言中的面向对象机制为主。学习者在学习过程中可以通过大量的程序实例和相关练习
💻 CPP
字号:
// staken.cpp
// overloading functions in base and derived classes
#include <iostream>
using namespace std;
#include <process.h>            //for exit()
////////////////////////////////////////////////////////////////
class Stack
   {
   protected:                   //NOTE: can't be private
      enum { MAX = 3 };         //size of stack array
      int st[MAX];              //stack: array of integers
      int top;                  //index to top of stack
   public:
      Stack()                   //constructor
         { top = -1; }
      void push(int var)        //put number on stack
         { st[++top] = var; }
      int pop()                 //take number off stack
         { return st[top--]; }
   };
////////////////////////////////////////////////////////////////
class Stack2 : public Stack
   {
   public:
      void push(int var)        //put number on stack
         {
         if(top >= MAX-1)	     //error if stack full
            { cout << "\nError: stack is full"; exit(1); }
         Stack::push(var);      //call push() in Stack class
         }
      int pop()                 //take number off stack
         {
         if(top < 0)            //error if stack empty
            { cout << "\nError: stack is empty\n"; exit(1); }
         return Stack::pop();   //call pop() in Stack class
         }
   };
////////////////////////////////////////////////////////////////
int main()
   {
   Stack2 s1;

   s1.push(11);                 //push some values onto stack
   s1.push(22);
   s1.push(33);

   cout << endl << s1.pop();    //pop some values from stack
   cout << endl << s1.pop();
   cout << endl << s1.pop();
   cout << endl << s1.pop();    //oops, popped one too many...
   cout << endl;
   return 0;
   }

⌨️ 快捷键说明

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