T
trangnguyen294
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Mã:
#include<iostream.h>
struct Node {
int entry;
Node *next;
Node();
};
class Stack {
public:
Stack();
~Stack();
void PrintAll();
private:
Stack& operator =(const Stack &s);
Node *top;
void themPhantu(int data);
void Del();
int count;
istream& operator >> (istream& vao,Stack& s);
ostream& operator << (ostream& ra,Stack& s);
};
void Stack :: themPhantu(int item){
Node* link = new Node();
link->entry = item;
link->next =NULL;
link->next = top;
top = link;
count++;
}
void Stack :: Del(){
Node* h;
while(top!=NULL)
{
h= top;
top = top->next;
delete h;
count--;
}
}
void Stack :: PrintAll(){
while(top!=NULL)
{
cout<<top->entry;
top=top->next;
}
}
Stack :: Stack(){
top = NULL;
count = 0;
}
Stack::~Stack(){
Del();
}
Stack&Stack :: operator >> (istream& vao,Stack& s)
{
int entry;
vao>>entry;
s.themPhantu(entry);
return vao;
}
Stack&Stack :: operator <<(istream& ra,Stack& s)
{
s.PrintAll(ra);
return ra;
}
Stack&Stack :: operator =(const Stack &s){
if(top!=NULL)
Del();
Node* p = s.top;
Stack t;
while(p!=NULL)
{
t.themPhantu(p->entry);
p=p->next;
}
return t;
}
void main(){
int data;
Stack s;
s.themPhantu(data);
s.Del();
}
Last edited by a moderator: