title: implement stack in c++
body: <p>How can I code a stack in C++? I have tried this myself as follows:</p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  #define max 10
  class stack{
  
  private:
      int arr[max];
      int top;
  public:
      stack(){
  
          top=-1;//empty initialy stack 
  
      }
  
      void push(int i){
          top++;
           if (top&lt;max){
  
               arr[top]=i;
           }
           else{
               cout&lt;&lt;"stack full"&lt;&lt;endl;
               top--;
      }
  
      }
  int pop(){
  
      if (top==-1){
           cout&lt;&lt;"stack is emphty");
       return NULL;
      }
      else{
          int data=arr[top];
          arr[top]=NULL;
          top--;
  
       return data;
  }
  }
  bool empty(){
  
       return (top==-1);
  
  }
  };
  int main(){
  
      stack a;
      a.push(12);
      a.push(30);
      a.push(23);
      a.push(42);
      a.push(100);
      while (!a.empty()){
          a.pop();
  
  
  
      }
  
  
  
       return 0;
  }
  </code></pre>
  
  <p>But I get the following errors:</p>
  
  <pre><code>1&gt;------ Build started: Project: stack_implementations, Configuration: Debug Win32 ------
  1&gt;  stak_implementation.cpp
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(31): error C2059: syntax error : ')'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(34): error C2059: syntax error : 'else'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(34): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(42): error C2628: 'stack' followed by 'bool' is illegal (did you forget a ';'?)
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(44): error C2065: 'top' : undeclared identifier
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(31): error C2143: syntax error : missing ';' before '}'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2059: syntax error : '}'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2143: syntax error : missing ';' before '}'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(47): error C2059: syntax error : '}'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(56): error C2039: 'empty' : is not a member of 'stack'
  1&gt;          c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(4) : see declaration of 'stack'
  1&gt;c:\users\david\documents\visual studio 2010\projects\stack_implementations\stak_implementation.cpp(56): fatal error C1903: unable to recover from previous error(s); stopping compilation
  ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  </code></pre>