-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstack.cpp
More file actions
64 lines (64 loc) · 1012 Bytes
/
stack.cpp
File metadata and controls
64 lines (64 loc) · 1012 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//Code that shows how to create a stack
#include<iostream>
using namespace std;
#define maxsize 100
class Stack
{
int sizeofstack;
int *tos;
int *arr;
public:
Stack(int);
~Stack();
void push();
void pop();
};
Stack::Stack(int sizeofstack)
{
cout<<"\nConstructor called";
this->sizeofstack=sizeofstack;
arr=new int[(this->sizeofstack)];
tos=arr;
}
Stack::~Stack()
{
cout<<"\nDestructor called";
delete[]arr;
}
void Stack::push()
{
if(tos-arr>=sizeofstack)
{
cout<<"\nStack overflow";
}
else
{
int i;
cout<<"\nENter element";
cin>>i;
*arr=i;
arr++;
}
}
void Stack::pop()
{
if(tos-arr==0)
{
cout<<"\nStack underflow";
}
else
{
cout<<"\n"<<*(arr-1);
arr--;
}
}
int main()
{
Stack s1(3);
s1.push();
s1.push();
s1.push();
s1.pop();
s1.pop();
s1.pop();
}