4

Размер: px
Започни от страница:

Download "4"

Препис

1 Наследяване и 4 Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 11 май 2017 г. Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 1 / 10

2 Жизнен цикъл на обект от производен клас За обекта са заделя памет (на стека или в динамичната памет) Извиква се конструктор, който извиква конструктор на основния клас извиква конструктори на всички съдържани обекти... (работа с обекта) Достига се края на областта на действие на обекта Извиква се деструктор, който извиква деструкторите на всички съдържани обекти извиква деструктора на основния клас Паметта на обекта се освобождава Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 2 / 10

3 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

4 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Конструкторът на производен клас делегира на конструктора на основния клас работата по инициализацията Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

5 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Конструкторът на производен клас делегира на конструктора на основния клас работата по инициализацията така няма нужда производният клас да се интересува от реализацията на основния Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

6 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Конструкторът на производен клас делегира на конструктора на основния клас работата по инициализацията така няма нужда производният клас да се интересува от реализацията на основния Конструкторът на основния клас се извиква преди да започне инициализацията на данните на производния Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

7 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Конструкторът на производен клас делегира на конструктора на основния клас работата по инициализацията така няма нужда производният клас да се интересува от реализацията на основния Конструкторът на основния клас се извиква преди да започне инициализацията на данните на производния модел на лука Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

8 Конструктори на производен клас Основен принцип: всеки конструктор се грижи директно само за инициализацията на член-данните на съответния клас Конструкторът на производен клас делегира на конструктора на основния клас работата по инициализацията така няма нужда производният клас да се интересува от реализацията на основния Конструкторът на основния клас се извиква преди да започне инициализацията на данните на производния модел на лука Затова се използва инициализиращият списък Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 3 / 10

9 Конструктори на производен клас <производен-клас>::<производен-клас>(<параметри>) [ : <основен-клас>(<параметри>) {, <член-данна>(<параметри>) }] Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 4 / 10

10 Конструктори на производен клас <производен-клас>::<производен-клас>(<параметри>) [ : <основен-клас>(<параметри>) {, <член-данна>(<параметри>) }] Пример: Hero::Hero(char const* _name, int _points, int _level) : Player(_name, _points), level(_level) Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 4 / 10

11 Конструктори на производен клас <производен-клас>::<производен-клас>(<параметри>) [ : <основен-клас>(<параметри>) {, <член-данна>(<параметри>) }] Пример: Hero::Hero(char const* _name, int _points, int _level) : Player(_name, _points), level(_level) Ако изпуснем да инициализираме наследената част или някоя от член-данните, които са обекти... Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 4 / 10

12 Конструктори на производен клас <производен-клас>::<производен-клас>(<параметри>) [ : <основен-клас>(<параметри>) {, <член-данна>(<параметри>) }] Пример: Hero::Hero(char const* _name, int _points, int _level) : Player(_name, _points), level(_level) Ако изпуснем да инициализираме наследената част или някоя от член-данните, които са обекти......за тях автоматично ще се извика конструктор по подразбиране Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 4 / 10

13 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

14 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

15 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? генерира се системен конструктор по подразбиране за основния клас, който автоматично се извиква от конструктора на производния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

16 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

17 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? генерират се системни конструктори по подразбиране за основния и производния клас, като вторият извиква автоматично първия Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

18 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

19 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? във всеки конструктор на производния клас трябва явно да се извика конструктор на основния, иначе грешка, понеже няма системно генериран конструктор по подразбиране за основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

20 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

21 Конструктори: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран нито един конструктор, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор?...в основния клас има дефиниран поне един конструктор, но няма дефиниран конструктор по подразбиране, а в производния клас има дефиниран конструктор?... в производния клас няма дефиниран конструктор? грешка при компилация, понеже се генерира системен конструктор по подразбиране за производния клас, който автоматично се опитва да извика конструктор по подразбиране за основния клас, какъвто няма дефиниран нито явен, нито системен Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 5 / 10

22 Деструктори Основен принцип: всеки деструктор се грижи директно само за унищожаването на член-данните на съответния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 6 / 10

23 Деструктори Основен принцип: всеки деструктор се грижи директно само за унищожаването на член-данните на съответния клас Деструкторът на производен клас не е нужно да извиква изрично деструктор на основен клас, това става автоматично Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 6 / 10

24 Деструктори Основен принцип: всеки деструктор се грижи директно само за унищожаването на член-данните на съответния клас Деструкторът на производен клас не е нужно да извиква изрично деструктор на основен клас, това става автоматично Деструктор на основния клас трябва да се извика след като е приключило унищожаването на данните на производния Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 6 / 10

25 Деструктори Основен принцип: всеки деструктор се грижи директно само за унищожаването на член-данните на съответния клас Деструкторът на производен клас не е нужно да извиква изрично деструктор на основен клас, това става автоматично Деструктор на основния клас трябва да се извика след като е приключило унищожаването на данните на производния модел на лука Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 6 / 10

26 Деструктори Основен принцип: всеки деструктор се грижи директно само за унищожаването на член-данните на съответния клас Деструкторът на производен клас не е нужно да извиква изрично деструктор на основен клас, това става автоматично Деструктор на основния клас трябва да се извика след като е приключило унищожаването на данните на производния модел на лука Основен принцип: деструкторите винаги се викат в обратен на конструкторите ред Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 6 / 10

27 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

28 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

29 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас иначе се извиква конструкторът по подразбиране на основния клас! Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

30 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас иначе се извиква конструкторът по подразбиране на основния клас! Системният конструктор за копиране на производен клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

31 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас иначе се извиква конструкторът по подразбиране на основния клас! Системният конструктор за копиране на производен клас извиква автоматично конструктор за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

32 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас иначе се извиква конструкторът по подразбиране на основния клас! Системният конструктор за копиране на производен клас извиква автоматично конструктор за копиране на основния клас извиква автоматично конструктори за копиране на всички член-данни, които са обекти Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

33 Конструктори за копиране Конструкторът за копиране на производния клас е като всеки друг конструктор Това означава, че той трябва явно да извика конструктора за копиране на основния клас иначе се извиква конструкторът по подразбиране на основния клас! Системният конструктор за копиране на производен клас извиква автоматично конструктор за копиране на основния клас извиква автоматично конструктори за копиране на всички член-данни, които са обекти поведението е аналогично на системния конструктор по подразбиране Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 7 / 10

34 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

35 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

36 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? конструкторът за копиране на производния клас е добре да извика явно системно генерирания конструктор за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

37 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

38 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? системно генерираният конструктор за копиране на производния клас извиква автоматично системно генерирания конструктор за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

39 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

40 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? конструкторът за копиране на производния клас е добре да извика явно конструктора за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

41 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

42 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв?...в основния клас има дефиниран конструктор за копиране, а в производния клас има дефиниран такъв?... в производния клас няма дефиниран такъв? системно генерираният конструктор за копиране на производния клас автоматично извиква явно дефинирания конструктор за копиране на основния клас Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 8 / 10

43 Операторна функция за присвояване Тя е като всяка друга член-функция Трябва да извика явно в тялото си операторната функция за присвояване на основния клас иначе наследените данни няма да се присвоят! Системната операция за присвояване на производен клас извиква автоматично операция за присвояване на основния клас извиква автоматично операция за присвояване на всички член-данни, които са обекти поведението е аналогично на другите методи от голямата четворка Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 9 / 10

44 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефинирана операция за присвояване, а в производния клас има дефинирана такава?... в производния клас няма дефинирана такава?...в основния клас има дефинирана операция за присвояване, а в производния клас има дефинирана такава?... в производния клас няма дефинирана такава? Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 10 / 10

45 Конструктор за копиране: частни случаи Задачки за размишление: какво ще се случи, ако......в основния клас не е дефинирана операция за присвояване, а в производния клас има дефинирана такава?... в производния клас няма дефинирана такава?...в основния клас има дефинирана операция за присвояване, а в производния клас има дефинирана такава?... в производния клас няма дефинирана такава? Нека не хабим повече слайдове... Отговорите са същите като при конструктора за копиране За домашно: упражнете се да ги изкажете Трифон Трифонов (ООП 16/17) Наследяване и голямата четворка 11 май 2017 г. 10 / 10

Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно и

Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно и Канонична форма на клас или 4 (голямата четворка) Трифон Трифонов Обектно-ориентирано програмиране, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 6 април 2017 г. Трифон Трифонов

Подробно

Lush Green

Lush Green Конструктори Жизнен цикъл на обект За обекта се заделя памет и се свързва с неговото име Извиква се подходящ конструктор на обекта... (достъп до компоненти на обект, изпълняване на операции) Достига се

Подробно

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Динамична памет. Конструктори и деструктори Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.3 16 ноември 2004 г. Пример:

Подробно

Виртуални функции

Виртуални функции Виртуални функции Статично свързване Как компилаторът избира кой метод или коя функция да бъде извикана? Прави се сравнение между формални и фактически параметри и се избира най-точното съвпадение в случай,

Подробно

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр

Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Тр Динамична памет Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. Трифон Трифонов (УП 16/17) Динамична памет 21 декември

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Триф

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Триф и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 9 ноември 2016 г. Трифон Трифонов (УП 16/17) и низове 9 ноември 2016 г. 1 / 5 Логическо

Подробно

C++

C++ Управляващи оператори в C++ Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 18 30 октомври 2018 г. Трифон Трифонов (УП 18/19) Управляващи оператори в C++ 18 30 октомври

Подробно

Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Re

Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Re Обработка на грешки Изключения Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 27 февруари 2005 г. 1 #include < cstdio

Подробно

2. Наследяване в C++ Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 1 февруари 2007 г. 1 Наследяване 1 2

2. Наследяване в C++ Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 1 февруари 2007 г. 1 Наследяване 1 2 2. Съдържание Съдържание Наследяване (Rev: 1.2) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 1 февруари 2007 г. 1 Наследяване 1 2 2 3 Полиморфизъм 9 1. Наследяване Наследяване UML UML unified modeling

Подробно

Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1

Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1 Класове в C++ (Rev: 742) Любомир Чорбаджиев 1 lchorbadjiev@elsys-bg.org 20 октомври 2006 г. Съдържание Съдържание 1 Обектно-ориентирано програмиране 1 1.1 Модулност............................ 1 1.2 Обектно-ориентирана

Подробно

-

- Лениво оценяване и програмиране от по-висок ред Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 7 януари 2016 г. Трифон Трифонов (ФП-И 15/16) Лениво оценяване 7 януари 2016 г.

Подробно

Lush Green

Lush Green Класове Какво са класовете? Основен инструмент на ООП Средство за дефиниране на абстрактни типове данни Синтактична конструкция, която позволява логическо групиране на данни и операциите над тях Дефиниция

Подробно

Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари

Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари Рекурсия Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, спец. Софтуерно инженерство, 2016/17 г. 21 декември 2016 г. 4 януари 2017 г. Трифон Трифонов (УП 16/17) Рекурсия 21.12.16

Подробно

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве

Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически униве Предефиниране на оператори. Копиращ конструктор. Оператор за присвояване Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision :

Подробно

Проф

Проф Утвърдил:.. / доц. д-р Е. Великова / Утвърден от Факултетен съвет с протокол... /... СОФИЙСКИ УНИВЕРСИТЕТ СВ. КЛИМЕНТ ОХРИДСКИ Факултет по Математика и Информатика Специалност: Компютърни науки М И К 0

Подробно

Black and White

Black and White Advanced C++ Memory Management Йордан Димитър Зайков Трендафилов Memory Management Effective C++ 2 nd ed: 3, 5, 7, 8, 9, 10 More Effective C++: 1, 3, 8 Exceptional C++: 35, 36 Какво всъщност прави new?

Подробно

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София

Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София Дефиниране на шаблон Шаблони (Templates) Любомир Чорбаджиев Технологическо училище Електронни системи Технически университет, София lchorbadjiev@elsys-bg.org Revision : 1.1 9 март 2005 г. template< class

Подробно

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23

Сериализация Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 Калин Георгиев 13 май 2016 г. Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 1 / 23 f «data; f» data; Калин Георгиев Обектно ориентирано програмиране 13 май 2016 г. 2 / 23 Първо изискване:

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г ноември 2018 г. Трифон Трифонов (УП 18/19) Ма Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 29 ноември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15 29 ноември 2018 г. 1 / 16 Масиви Логическо

Подробно

Homework 3

Homework 3 Домашно 3 по дисциплината Дискретни структури за специалност Информатика I курс летен семестър на 2015/2016 уч г в СУ ФМИ Домашната работа се дава на асистента в началото на упражнението на 25 26 май 2016

Подробно

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА

МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА МИНИСТЕРСТВО НА ОБРАЗОВАНИЕТО И НАУКАТА У Ч Е Б Н А П Р О Г Р А М А ЗА ЗАДЪЛЖИТЕЛНА ПРОФЕСИОНАЛНА ПОДГОТОВКА ПО ПРОГРАМИРАНЕ И АЛГОРИТМИЧНИ ЕЗИЦИ ЗА ПРОФЕСИЯ: КОД 482010 ИКОНОМИСТ - ИНФОРМАТИК СПЕЦИАЛНОСТ:

Подробно

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1

Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 1 Масиви и низове Трифон Трифонов Увод в програмирането, спец. Компютърни науки, 1 поток, 2018/19 г. 15 ноември 6 декември 2018 г. Трифон Трифонов (УП 18/19) Масиви и низове 15.11-6.12.2018 г. 1 / 17 Масиви

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев (от гледна точка на производителността) Съдържание 1. Видове транслатори 2.Фази по време на компилация 3. Оптимизационна фаза

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Какво могат и какво не могат компилаторите Съдържание 1. Оптимизационен континуум 2. Някои известни видове оптимизации 2/49 Оптимизационен

Подробно

Синтаксис за дефиниране на функции Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 6 януари 2016 г. Трифон Трифонов (ФП-И 15/

Синтаксис за дефиниране на функции Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 6 януари 2016 г. Трифон Трифонов (ФП-И 15/ Синтаксис за дефиниране на функции Трифон Трифонов Функционално програмиране, спец. Информатика, 2015/16 г. 6 януари 2016 г. Трифон Трифонов (ФП-И 15/16) Синтаксис за дефиниране на функции 6 януари 2016

Подробно

Microsoft Word - Glava24.doc

Microsoft Word - Glava24.doc 2.4. Въведение в езика OQL Обектно ориентираният език на заявките OQL е един опит да се стандартизират обектноориентираните езици на заявките във форма на език, обединяващ в себе си декларативното SQL

Подробно

Структура на програма в C - Част 6 - goto, switch, break и continue клаузи

Структура на програма в C - Част 6 - goto, switch, break и continue клаузи Структура на програма в C Част 6 - goto, switch, break и continue клаузи Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София 21 април

Подробно

036-B.dvi

036-B.dvi МАТЕМАТИКА И МАТЕМАТИЧЕСКО ОБРАЗОВАНИЕ, 2004 MATHEMATICS AND EDUCATION IN MATHEMATICS, 2004 Proceedings of the Thirty Third Spring Conference of the Union of Bulgarian Mathematicians Borovets, April 1

Подробно

Проектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси , Съфинансиран от Европейския Социален Фо

Проектът се осъществява с финансовата подкрепа на Оперативна Програма Развитие на Човешките Ресурси , Съфинансиран от Европейския Социален Фо ЛЯТНА ШКОЛА 2013 ПОВИШАВАНЕ ТОЧНОСТТА НА РОБОТ ЧРЕЗ ИДЕНТИФИКАЦИЯ И РАЗПОЗНАВАНЕ Доц. д-р инж. Роман Захариев ПОВИШАВАНЕ НА ЕФЕКТИВНОСТТА И КАЧЕСТВОТО НА ОБУЧЕНИЕ И НА НАУЧНИЯ ПОТЕНЦИАЛ В ОБЛАСТТА НА СИСТЕМНОТО

Подробно

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор

Структура на програма в C - Част 7 - масиви, оператор за индексиране, sizeof оператор Структура на програма в C Част 7 - масиви, оператор за индексиране, sizeof оператор Иван Георгиев, Христо Иванов, Христо Стефанов Технологично училище "Електронни системи", Технически университет, София

Подробно

Microsoft Word - PRMAT sec99.doc

Microsoft Word - PRMAT sec99.doc Лекция 9 9 Изследване на функция Растене, намаляване и екстремуми В тази лекция ще изследваме особеностите на релефа на графиката на дадена функция в зависимост от поведението на нейната производна Основните

Подробно

Microsoft Word - VM22 SEC66.doc

Microsoft Word - VM22 SEC66.doc Лекция 6 6 Теорема за съществуване и единственост Метричното пространство C [ a b] Нека [ a b] е ограничен затворен интервал и да разгледаме съвкупността на непрекъснатите функции f ( определени в [ a

Подробно

1 KONSTANTIN PRESLAVSKY UNIVERSITY S H U M E N Ш У М Е Н С К И У Н И В Е Р С И Т Е Т Е П И С К О П К О Н С Т А Н Т И Н П Р Е С Л А В С К И Ф А К У Л Т

1 KONSTANTIN PRESLAVSKY UNIVERSITY S H U M E N Ш У М Е Н С К И У Н И В Е Р С И Т Е Т Е П И С К О П К О Н С Т А Н Т И Н П Р Е С Л А В С К И Ф А К У Л Т 1 KONSTANTIN PRESLAVSKY UNIVERSITY S H U M E N Ш У М Е Н С К И У Н И В Е Р С И Т Е Т Е П И С К О П К О Н С Т А Н Т И Н П Р Е С Л А В С К И Ф А К У Л Т Е Т П О М А Т Е М А Т И К А И И Н Ф О Р М А Т И К

Подробно

Анализ и оптимизация на софтуерни приложения

Анализ и оптимизация на софтуерни приложения Анализ и оптимизация на софтуерни приложения Александър Пенев Васил Василев Съдържание 1. Какво е векторизация? 2. Примери 3. на цикли 4. Масиви от структури или структури от масиви 5. на при различни

Подробно

Microsoft Word - ICA user-manual.doc

Microsoft Word - ICA user-manual.doc Софтуер за интеркритериален анализ Потребителска документация Версия ICA-32-20150206, 6 февруари 2015 Разработил софтуерното приложение: Деян, deyanmegara@gmail.com Разработил потребителската документация:

Подробно

Семинар 1: Комплексни числа. Функции на комплексна променлива.

Семинар 1: Комплексни числа. Функции на комплексна променлива. Семинар 1: Комплексни числа. Функции на комплексна променлива. Комплексно число, с: c z (, ) + + j а Re[c] реална част; Im[c] имагинерна част; j 1 r c + - модул на комплексното число (к. ч.). tg ϕ, ϕ rg

Подробно

Microsoft Word - VM22 SEC55.doc

Microsoft Word - VM22 SEC55.doc Лекция 5 5 Диференциални уравнения от първи ред Основни определения Диференциално уравнение се нарича уравнение в което участват известен брой производни на търсената функция В общия случай ( n) диференциалното

Подробно

Платежни документи

Платежни документи Цел на представянето Запознава с модул от интегрираната система за фирмено управление. Съдържа информация за предназначението и функциите на модула. Разглежда възможностите и предимствата на за автоматизация

Подробно

Програмиране на Паскал

Програмиране на Паскал Поради връзката на С++ с езика С в голяма част от литературата е прието записването С/С++. Това е найизползваният език за програмиране в света, поради което синтаксисът на някои от по-новите езици като

Подробно

Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23

Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23 Указатели. Маисиви, указатели, параметри на функции Калин Георгиев 21 декември 2016 г. Калин Георгиев Увод в програмирането 21 декември 2016 г. 1 / 23 Указатели! Калин Георгиев Увод в програмирането 21

Подробно

ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от г.; Актуализирана

ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от г.; Актуализирана ЦЕНТЪР ПО ИНФОРМАТИКА И ТЕХНИЧЕСКИ НАУКИ УЧЕБНА ПРОГРАМА Утвърждавам: Декан: CS 206 ИЗКУСТВЕН ИНТЕЛЕКТ Приета: прот. 8 от 28.04.2005 г.; Актуализирана прот. 16 от 17.06.2016 г. Лектор: Акад. Проф. Иван

Подробно

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н

doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката н doll Механична кукла Механичните кукли автоматично повтарят предварително зададена последователност от движения. В Япония има традиции в изработката на механични кукли, датиращи от древни времена. Движенията

Подробно

MSDOS1

MSDOS1 ПРИЛОЖЕНИЕ C ANSI ESCAPE последователности Забележка Информацията в това приложение зависи от инсталацията и може да не се прилага в машините на всички производители. ANSI ESCAPE последователността представлява

Подробно

Microsoft Word - PMS sec1212.doc

Microsoft Word - PMS sec1212.doc Лекция Екстремуми Квадратични форми Функцията ϕ ( = ( K се нарича квадратична форма на променливите когато има вида ϕ( = aij i j i j= За коефициентите предполагаме че a ij = a ji i j При = имаме ϕ ( =

Подробно

УКАЗАНИЯ

УКАЗАНИЯ УКАЗАНИЯ ЗА ЗАПИСВАНЕ НА ИЗБИРАЕМИ ДИСЦИПЛИНИ ПРЕЗ СУСИ І. ОБЩА ИНФОРМАЦИЯ СУСИ е информационна система, през която всеки студент може да проследи студентското си състояние, изучаваните от него дисциплини,

Подробно

1 Разпеделение на студенти 3 курс за 7 семестър, 4 курс Избираема дисциплина Информационни технологии в медицината Нефотореалистична визуализация Сист

1 Разпеделение на студенти 3 курс за 7 семестър, 4 курс Избираема дисциплина Информационни технологии в медицината Нефотореалистична визуализация Сист 1 Разпеделение на студенти 3 курс за 7 семестър, 4 курс Избираема Информационни технологии в медицината Нефотореалистична визуализация Системно инженерство ИТМ НВ СИ Дисциплина за разработване на курсов

Подробно