Skip to content

Commit 869e7bb

Browse files
committed
Lab 14 template added
1 parent 4785f58 commit 869e7bb

File tree

1 file changed

+60
-1
lines changed

1 file changed

+60
-1
lines changed

Semester_2/Lab_14/main.cpp

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,63 @@
1010

1111
// Класс FigureList должен быть основан на связном списке.
1212
// Связаный список должен быть реализован с помощью двух классов
13-
// Node (элемент списка) и List (сам список)
13+
// Node (элемент списка) и List (сам список)
14+
15+
#include <cstdlib>
16+
#include <string>
17+
18+
using namespace std;
19+
20+
class Shape {
21+
protected:
22+
int id;
23+
int x, y;
24+
25+
public:
26+
Shape(int id, int x, int y);
27+
void print();
28+
};
29+
30+
class Circle : public Shape {
31+
protected:
32+
int r;
33+
string text;
34+
35+
public:
36+
Circle(int id, int x, int y, int r, string text);
37+
void print();
38+
};
39+
40+
class Segment : public Shape {
41+
protected:
42+
int x_start, y_start, x_end, y_end;
43+
44+
public:
45+
Segment(int id, int x_start, int y_start, int x_end, int y_end);
46+
void print();
47+
};
48+
49+
class FigureList {
50+
private:
51+
Shape* arr[100];
52+
int size = 0;
53+
54+
public:
55+
void add(Shape* s);
56+
57+
Shape &get(int id);
58+
59+
// найти фигуру всписке по идентификатору
60+
Shape& findFigure(int id);
61+
62+
// удалить фигуру из списка
63+
void erase(int id);
64+
65+
// вывести на экран в текстовом режиме информацию о всех фигурах в списке
66+
void printAll();
67+
};
68+
69+
70+
int main() {
71+
FigureList list;
72+
}

0 commit comments

Comments
 (0)