Содержание
- 2. Объектно-ориентированное программирование Идея классов является основой объектно-ориентированного программирования (ООП). Класс является типом данных определяемым пользователем. В
- 3. Интерфейсом класса являются заголовки его методов. Конкретные величины типа данных «класс» называются экземплярами класса, или объектами.
- 4. Описание класса Класс является абстрактным типом данных, определяемым пользователем, и представляет собой модель реального объекта в
- 6. При описании класса реализуется одно из ключевых понятий ООП - инкапсуляция. Для начала дадим формальное определение
- 7. Описание класса выглядит так: class { [ private: ] public: } ; Где спецификаторы доступа private
- 8. Термин private понимается в том смысле, что данные заключены внутри класса и защищены от несанкционированного доступа
- 10. Поля класса: • могут иметь любой тип, кроме типа этого же класса (но могут быть указателями
- 11. Описание объектов Конкретные переменные типа «класс» называются экземплярами класса, или объектами. Время жизни и видимость объектов
- 12. Пример1. Рассмотрим пример описания класса TPoint (точка): Точка характеризуется координатами: Х и У – это свойства
- 13. #include "stdafx.h " class TPoint { private: int x,y; public: void InitPoint ( int newx, int
- 14. int main() { class TPoint p; p.InitPoint(10,10); printf("x=%d, y=%d\n", p.getx(), p.gety()); p.relmove(5,10); printf("x=%d, y=%d\n", p.getx(), p.gety());
- 16. Классы могут быть глобальными (объявленными вне любого блока) и локальными (объявленными внутри блока, например, функции или
- 17. Вызов методов InitPoint() и relmove() приводило к изменению значений полей Х и У. В следующем примере
- 18. Конструкторы B отличии от предыдущего примера удобнее инициализировать поля объекта автоматически в момент его создания, а
- 19. class TPoint { private: int x,y; public: TPoint(int newx, int newy) // конструктор {x=newx; y=newy; }
- 20. Пример 2. В качестве примера создадим класс Counter, объекты которого могут хранить количественную меру какой-либо изменяющейся
- 21. class Counter { private: int mycount; public: Counter ( ):mycount(0){ }//конструктор void inc_count ( ) {mycount++;
- 22. Одной из наиболее часто возлагаемых на конструктор задач является инициализация полей объекта. Инициализация полей обычно реализуется
- 23. Деструкторы Кроме специального метода конструктор, который вызывается при создании объекта, существует другой особый метод, автоматически вызываемый
- 24. Наиболее распространённое применение деструкторов – освобождение памяти, выделенной конструктором при создании объекта. Определение методов может быть
- 25. class TPoint { private: int x,y; public: TPoint(int newx, int newy) {x=newx;y=newy; } void relmove (
- 26. ЗАМЕЧАНИЯ: 1)Класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации. 2)Конструктор, вызываемый без
- 27. Деструктор: • не имеет аргументов и возвращаемого значения; • не может быть объявлен как const или
- 28. class Counter { private: int mycount; public: Counter ( ):mycount(0){ } Counter (int c): mycount(c){ }
- 29. Наследование Наследование – это процесс создания новых классов, называемых наследниками или производными классами, из уже существующих
- 31. Простым называется наследование, при котором производный класс имеет одного родителя. Формат описания производного класса: В заголовке
- 32. Рассмотрим правила наследования различных методов: Конструкторы не наследуются, поэтому производный класс должен иметь собственные конструкторы. Если
- 33. Поля, унаследованные из родительского класса, и которые определены в базовом классе как private, недоступны функциям производного
- 34. class Counter { protected: int mycount; public: Counter ( ):mycount(0){ } //конструктор 1 Counter(int c): mycount(c){
- 35. int main(int argc, char *argv[]) { Counter c1, c2(3); CountDown c3; std::cout std::cout std::cout c1.inc_count(); c2.inc_count();
- 36. Для объекта c3 доступен новый метод: c3.dec_count(); Но можно применять и унаследованные методы, например: std::cout Можно
- 37. Поэтому, если возникает необходимость инициализации объекта с3 каким-либо другим значением, мы должны написать новый конструктор: class
- 38. Иерархия классов На основе принципа наследования может быть построена иерархия классов. Рассмотрим пример базы данных служащих
- 40. #include using namespace std; const int len=80; class employee { protected: int nom; char name[len]; public:
- 41. class manager:public employee { private: char title[len]; int kol; public: void getdata() { employee::getdata(); cout >title;
- 42. class scientist:public employee { private: int pubs; public: void getdata() { employee::getdata(); cout >pubs; } void
- 43. int main(int argc, char *argv[]) { employee x; manager y; scientist z; laborer w; cout x.getdata();
- 44. Производный класс может являться базовым для других производных классов. Например: class A { … }; class
- 45. Класс может являться производным как одного базового класса, так и нескольких базовых классов (множественное наследование). Например:
- 46. Работа с объектами чаще всего производится через указатели, например: employee *р; Указателю на базовый класс можно
- 47. Виртуальные методы. Полиморфизм. Полиморфизм — один из важнейших механизмов ООП. Полиморфизм реализуется с помощью наследования классов
- 48. class Base { public: void show() { cout } }; class derv1:public Base {public: void show()
- 49. class derv2:public Base {public: void show() { cout } }; int main(int argc, char *argv[]) {
- 50. Итак, классы derv1 и derv2 являются наследниками класса Base. В каждом из трех классов имеется метод
- 51. Этот процесс ,называется ранним связыванием.
- 52. В C++ реализован механизм позднего связывания, когда разрешение ссылок на метод происходит на этапе выполнения программы
- 53. Этот процесс ,называется поздним связыванием.
- 54. Если в базовом классе метод определен как виртуальный, метод, определенный в производном классе с тем же
- 55. Рекомендуется делать виртуальными деструкторы для того, чтобы гарантировать правильное освобождение памяти из-под динамического объекта, поскольку в
- 56. Обзор стандартных библиотек С++ Развитие объектно - ориентированного программирования привело к созданию широкого набора библиотек. Библиотека
- 57. Библиотека содержит пять основных видов компонентов: алгоритм (algorithm): определяет вычислительную процедуру. контейнер (container): управляет набором объектов
- 58. Алгоритмы реализуют большинство методов сортировки, поиска и т.п. ( ) Контейнеры – это объекты, содержащие другие
- 59. Рассмотрим основные методы класса stack: push - метод для добавления элемента в стек. pop – удаляет
- 60. #include #include #include using namespace std; int main(int argc, char *argv[]) { stack x; for(int i=1;
- 61. Библиотека ATL расшифровывается как Active Template Library. Это библиотека классов и шаблонов, предназначенная для разработки собственных
- 62. AfxMessageBox ( ) Библиотека MFC инкапсулирует многие функции API (Application Programming Interfase), с помощью которых реализуются
- 63. Библиотека классов .NET Framework имеет следующие возможности: библиотека базовых классов,такие как строки, массивы и элементы форматирования;
- 64. Если мы захотим создать Windows – приложение с помощью технологии .NET, то открыв Visual Studio, и
- 67. Скачать презентацию





![Описание класса выглядит так: class { [ private: ] public: } ;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/929173/slide-6.jpg)



























![int main(int argc, char *argv[]) { Counter c1, c2(3); CountDown c3; std::cout](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/929173/slide-34.jpg)





![class manager:public employee { private: char title[len]; int kol; public: void getdata()](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/929173/slide-40.jpg)

![int main(int argc, char *argv[]) { employee x; manager y; scientist z;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/929173/slide-42.jpg)
















![#include #include #include using namespace std; int main(int argc, char *argv[]) {](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/929173/slide-59.jpg)





Закрепление материала о Microsoft Word
Хранение информации. Память человека и память человечества
Informatika_E-22_24_09_2022_docx(1)
Схемотехнический редактор и навигация
Программирование автоматики В терминалах РЗ АПВ, АВР, АЧР
Измерение информации. Ключевые слова
Основные логические операции. Практические задания
Создание презентации на компьютере. Настройка компьютера
Komanda FOR organizācija ciklisko izpildes citas komandas rezultāti, saraksti, un virknes teksta failus
Базы данных. Лекция 2
Основы проектирования базы данных
Проведение интернета в другой дом
Разработка веб-сайта для выбора автомобиля по заданным пользователем критериям
PHP. Разработка блога. Часть 2. Урок 8
Ветвление
Двумерные массивы: работа с диагоналями
Ввод-вывод данных на консоль в С++
Кодирование звуковой информации
Имитационное компьютерное моделирование. Лекция 1
Современные социальные сети, их роль и место в обществе и бизнесе
Программирование игр на Python
Создаем игру Driver
5._
Компоновщик. Что такое компоновщик?
Как улучшить свой ПК
Поиск информации в интернете, возможность дистанционного образования, проведение досуга
Графы. Общие понятия
Инструкция по работе в программе LearningApps.org