-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
49 lines (43 loc) · 1.56 KB
/
main.cpp
File metadata and controls
49 lines (43 loc) · 1.56 KB
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
#include <iostream>
class Аркадий {
protected:
int ЭтоЧтобыЖить;
int ЭтоЧтобыЕсть;
public:
Аркадий(int жизнь, int еда) : ЭтоЧтобыЖить(жизнь), ЭтоЧтобыЕсть(еда) {};
Аркадий() : Аркадий::Аркадий(0, 0) {};
virtual void ДатьЖизнь(int жизнь) {
ЭтоЧтобыЖить = жизнь;
};
virtual int ВзятьЖизнь() {
return ЭтоЧтобыЖить;
};
virtual void ДатьЕду(int еда) {
ЭтоЧтобыЕсть = еда;
};
virtual int ВзятьЕду() {
return ЭтоЧтобыЕсть;
};
virtual ~Аркадий() {};
class ИнструментыАркадия {
public:
static void УбитьАркадия(Аркадий* аркадий) {
delete аркадий;
std::cout << "Arkady was killed by you. Why you killed Arkady?" << std::endl;
};
};
};
class Стеф : public Аркадий {
public:
Стеф(int жизнь, int еда) : Аркадий::Аркадий(жизнь, еда) {};
Стеф() : Стеф::Стеф(0 ,0) {};
};
int main(int argc, char *argv[])
{
Аркадий* аркадий = new Аркадий(3, 5);
std::cout << аркадий->ВзятьЖизнь() << std::endl;
Стеф* стеф = new Стеф(3, 4);
std::cout << стеф->ВзятьЖизнь() << std::endl;
Аркадий::ИнструментыАркадия::УбитьАркадия(аркадий);
Аркадий::ИнструментыАркадия::УбитьАркадия(стеф);
}