include iostream include vector include sstream template class class l

 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <vector>
#include <sstream>
template <class T> class list{
private:
list *next;
T value;
public:
list () {
next = NULL;
}
list* getNext (){
return next;
}
void setValue(T val){ this->value = val;}
T getValue(){
return value;
}
void addNewElement(T ob){
this->next = new list();
this->next->setValue(ob);
}
void showValue (){
std::cout << value << " ";
}
int setSize(){
}
void show(){
list *p = this;
if ( p == NULL)
std::cout << "Список пуст!" << std::endl;
while (p != NULL){
p -> showValue();
p = p -> getNext();
}
}
};
int main(){
list <int> list1;
list <int> *p1;
list <char> list2;
list <char> *p2;
list <float> list3;
list <float> *p3;
list <double> list4;
list <double> *p4;
list <std::string> list5;
list <std::string> *p5;
setlocale(LC_ALL, "Russian");
list1.setValue(3);
list1.addNewElement(2);
p1 = list1.getNext();
p1 -> addNewElement(4);
p1 = p1 -> getNext();
// -------
list2.setValue('a');
list2.addNewElement('d');
p2 = list2.getNext();
p2 -> addNewElement('v');
p2 = p2 -> getNext();
// -------
list3.setValue(-3.1);
list3.addNewElement(2.4);
p3 = list3.getNext();
p3 -> addNewElement(4.2);
p3 = p3 -> getNext();
// --------
list4.setValue(3.4141241);
list4.addNewElement(2.231241);
p4 = list4.getNext();
p4 -> addNewElement(4.3333);
p4 = p4 -> getNext();
// --------
list5.setValue("проблема");
list5.addNewElement("нет");
p5 = list5.getNext();
p5 -> addNewElement("проблемы");
p5 = p5 -> getNext();
std::cout << "Список элементов типа int:" << std::endl;
list1.show();
std::cout << std::endl;
std::cout << "Список элементов типа char:" << std::endl;
list2.show();
std::cout << std::endl;
std::cout << "Список элементов типа float:" << std::endl;
list3.show();
std::cout << std::endl;
std::cout << "Список элементов типа double:" << std::endl;
list4.show();
std::cout << std::endl;
std::cout << "Список элементов типа string:" << std::endl;
list5.show();
std::cout << std::endl;
}