Summary Files Commits Branches @commit @diff @stats
path: root / src / teaching / oop-2025 / week01 / intro.du
blob: 474ffb2542654cc9e5dbe6144c240f6d96bca76a (plain) (blame)
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
# Уводни бележки - ООП, Седмица 1, 18.02.2026

'define expected-reading 1 min
'define created 17 February 2026
'define edited 17 February 2026
[$pagenav]

[$presentation-controller]

:title_slide35

# Уводни бележки по ООП


:slide35

## Уроци от УП

[$br2]

:unordered

- [=Решавайте задачи!=]
  .unordered
  - По УП са давани >200 задачи (да, много не бяха доизпипани)
  - Решения ca качвани на >150 задачи
  - >3700 реда код в решения

- Питайте въпроси, за това ми плащат!



:slide35

## Относно ООП практикум

[$br3]

:unordered

- Избираема е, няма причина да не я запишете
  .unordered
  - Дори да не го направите, пак си идвайте

- Ще го караме по същата схема: задачи и [=решаваме=] на живо
  .unordered
  - Ако искате друго, слушам, ще го обсъдим



:slide35

## Специфики на ООП в C++

[$br1]

:unordered

- ООП не е безплатно! Дори да сте учили [`Java`]/[`C#`]/...

- [`C++`] има много рядко-срещани обектни свойства, като:

  :ordered

  1. Ръчно менажиране на паметта (и оператори) - няма garbage collector

  2. Множествено наследяване - наследяване на повече от един клас

  3. Шаблони - значително по-силни от generics ([url https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern статичен полиморфизъм], [url https://en.wikipedia.org/wiki/Template_metaprogramming#Compile-time_class_generation compile-time рекурсия], ...)




:title_slide35

.p
Въпроси?
Коментари?
Забележки?