Содержание
- 2. Лекция 5. Классы Логика объектно-ориентированного подхода. Описание классов и объектов. Основные элементы класса: поля, методы, указатель
- 3. ©Павловская Т.А. (СПбГУ ИТМО) "Programming today is a race between software engineers striving to build bigger
- 4. ©Павловская Т.А. (СПбГУ ИТМО) Преимущества и недостатки ООП Преимущества (при создании больших программ): использование при программировании
- 5. ©Павловская Т.А. (СПбГУ ИТМО) Свойства ООП Инкапсуляция - скрытие деталей реализации; объединение данных и действий над
- 6. ©Павловская Т.А. (СПбГУ ИТМО) Технология разработки ОО программ В процесс проектирования перед всеми остальными добавляется еще
- 7. ©Павловская Т.А. (СПбГУ ИТМО) Описание класса class { [ private: ] public: }; Поля класса: могут
- 8. ©Павловская Т.А. (СПбГУ ИТМО) внутри локального класса запрещается использовать автоматические переменные из области, в которой он
- 9. ©Павловская Т.А. (СПбГУ ИТМО) class monstr{ int health, ammo; public: monstr(int he = 100, int am
- 10. ©Павловская Т.А. (СПбГУ ИТМО) Описание объектов monstr Vasia; monstr Super(200, 300); monstr stado[100]; monstr *beavis =
- 11. ©Павловская Т.А. (СПбГУ ИТМО) Константный объект: const monstr Dead (0,0); Константный метод: int get_health() const {return
- 12. ©Павловская Т.А. (СПбГУ ИТМО) monstr & the_best(monstr &M){ if( health > M.health()) return *this; return M;
- 13. ©Павловская Т.А. (СПбГУ ИТМО) Конструкторы Конструктор не возвращает значение, даже типа void. Нельзя получить указатель на
- 14. ©Павловская Т.А. (СПбГУ ИТМО) Если программист не указал ни одного конструктора, компилятор создает его автоматически. Такой
- 15. ©Павловская Т.А. (СПбГУ ИТМО) имя_класса имя_объекта [(список параметров)]; имя_класса (список параметров); имя_класса имя_объекта = выражение; monstr
- 16. ©Павловская Т.А. (СПбГУ ИТМО) enum color {red, green, blue}; class monstr{ int health, ammo; color skin;
- 17. ©Павловская Т.А. (СПбГУ ИТМО) monstr::monstr(int he, int am) {health = he; ammo = am; skin =
- 18. ©Павловская Т.А. (СПбГУ ИТМО) monstr::monstr(int he, int am): health (he), ammo (am), skin (red), name (0){
- 19. ©Павловская Т.А. (СПбГУ ИТМО) monstr::monstr(const monstr &M){ if (M.name){ name = new char [strlen(M.name) + 1];
- 20. ©Павловская Т.А. (СПбГУ ИТМО) Статические поля Память под статическое поле выделяется один раз class A {
- 21. ©Павловская Т.А. (СПбГУ ИТМО) Статические методы class A{ static int count; public: static void inc_count(){ count++;
- 22. ©Павловская Т.А. (СПбГУ ИТМО) Дружественные функции и классы Дружественная функция объявляется внутри класса, к элементам которого
- 23. ©Павловская Т.А. (СПбГУ ИТМО) class monstr; class hero{ public: void kill(monstr &); }; class monstr{ friend
- 24. ©Павловская Т.А. (СПбГУ ИТМО) class hero{ ... friend class mistress; } class mistress{ ... void f1();
- 25. ©Павловская Т.А. (СПбГУ ИТМО) Деструкторы Деструктор вызывается автоматически, когда объект выходит из области видимости: для локальных
- 26. ©Павловская Т.А. (СПбГУ ИТМО) Деструктор: не имеет аргументов и возвращаемого значения; не может быть объявлен как
- 27. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операций . .* ?: :: # ## sizeof при перегрузке операций
- 28. ©Павловская Т.А. (СПбГУ ИТМО) Функцию-операцию можно определить: как метод класса как дружественную функцию класса как обычную
- 29. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка унарных операций 1. Внутри класса: class monstr{ ... monstr & operator
- 30. ©Павловская Т.А. (СПбГУ ИТМО) 2. Как дружественную функцию: class monstr{ ... friend monstr & operator ++(
- 31. ©Павловская Т.А. (СПбГУ ИТМО) class monstr{ ... monstr operator ++(int){ monstr M(*this); health++; return M; }
- 32. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка бинарных операций 1. Внутри класса: class monstr{ ... bool operator >(const
- 33. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операции присваивания операция-функция должна возвращать ссылку на объект, для которого она
- 34. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операций new и delete им не требуется передавать параметр типа класса;
- 35. ©Павловская Т.А. (СПбГУ ИТМО) class Obj { … }; class pObj{ … private: Obj *p; };
- 36. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операции приведения типа operator имя_нового_типа (); monstr::operator int(){ return health; }
- 37. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операции вызова функции class if_greater{ public: int operator () (int a,
- 38. ©Павловская Т.А. (СПбГУ ИТМО) Перегрузка операции индексирования class Vect{ public: explicit Vect(int n = 10); //инициализация
- 39. ©Павловская Т.А. (СПбГУ ИТМО) Vect::Vect(int n) : size(n){ p = new int[size];} Vect::Vect(const int a[], int
- 40. ©Павловская Т.А. (СПбГУ ИТМО) void Vect::Print(){ for (int i = 0; i cout int main(){ int
- 41. ©Павловская Т.А. (СПбГУ ИТМО) Указатели на элементы классов Указатель на метод класса: возвр_тип (имя_класса::*имя_указателя)(параметры); описание указателя
- 42. ©Павловская Т.А. (СПбГУ ИТМО) Правила использования указателей на методы классов: Указателю на метод можно присваивать только
- 43. ©Павловская Т.А. (СПбГУ ИТМО) Указатель на поле класса тип_данных(имя_класса::*имя_указателя); В определение указателя можно включить его инициализацию:
- 45. Скачать презентацию





![©Павловская Т.А. (СПбГУ ИТМО) Описание класса class { [ private: ] public:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1109874/slide-6.jpg)







![©Павловская Т.А. (СПбГУ ИТМО) имя_класса имя_объекта [(список параметров)]; имя_класса (список параметров); имя_класса](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1109874/slide-14.jpg)























![©Павловская Т.А. (СПбГУ ИТМО) Vect::Vect(int n) : size(n){ p = new int[size];}](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1109874/slide-38.jpg)




Operatsionnaya_sistema_IT
Простейший графический редактор Paint. Сохранение и открытие рисунка
Лекция 1
Сквозные технологии НТИ
Библиографический указатель по Аромашевскому району
Презентация на тему Виды памяти, вытесняющие статическую память
Свойства логических высказываний
УТП, техники копирайтинга
ROCC Новости
Методологические основы прогнозирования
Интерфейс Sound Forge 9.0 (часть 2)
Математические основы информатики. Единицы представления информации. (Тема 3)
Клуб интеллектуальных игр Игры разума
Проектирование цифрового мультиплексора шины
Инструкция по работе с Гугл Классом
Качество программного обеспечения. Лекция №12
Cleverlance. SQL 1
Чат - боты в социальных сетях
Monotone
Театральное искусство
Компьютерные вирусы и антивирусные программы
Применение искусственного интеллекта в HR-сфере
Коллективные операции передачи данных
Проектирование реляционной базы данных. Основные принципы проектирования
Проект Dengerouscraft,1.1.X
Разработка web-ориентированной информационной системы поддержки процесса защиты выпускных квалификационных работ
Задание №2. Разработка презентации в приложении PowerPoint на базе первого задания
АрхКС _rus лекция2-