include iostream struct link int data link next class linklist private

 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
#include <iostream>
struct link
{
int data;
link* next;
};
class linklist
{
private:
link* first;
public:
linklist()
{
first = NULL;
}
~linklist()
{
std::cout<<"destructor"<<std::endl;
link* current = first;
while(current)
{
current = current->next;
delete first;
first = current;
}
}
void additem(int d);
void printlist();
};
void linklist::additem(int d)
{
link* newlink = new link;
newlink->data = d;
newlink->next = first;
first = newlink;
}
void linklist::printlist()
{
link* current = first;
while(current)
{
std::cout<<current->data<<std::endl;
current = current->next;
}
}
int main()
{
linklist li;
li.additem(10);
li.additem(20);
li.printlist();
li.~linklist();
li.printlist();
}