Содержание
- 2. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++ Г. Буч. Объектно-ориентированный анализ и
- 3. Электронные ссылки Материалы по курсу можно найти на сайте: http://cmcmsu.no-ip.info/2course/ Некоторые электронные ссылки на полезные книги:
- 4. Язык C++ С++ позволяет справиться с возрастающей сложностью программ (в отличие от С). Автор – Бьёрн
- 5. Парадигмы программирования Все программы состоят из кода и данных и каким-либо образом концептуально организованы вокруг своего
- 6. Постулаты ООП. Абстракция - центральное понятие ООП. Абстракция позволяет программисту справиться со сложностями решаемых им задач.
- 7. ИНКАПСУЛЯЦИЯ Инкапсуляция - механизм, - связывающий вместе код и данные, которыми он манипулирует; - защищающий их
- 8. НАСЛЕДОВАНИЕ Наследование - механизм, с помощью которого один объект (производного класса) приобретает свойства другого объекта (родительского,
- 9. ПОЛИМОРФИЗМ Полиморфизм - механизм, позволяющий использовать один и тот же интерфейс для общего класса действий. В
- 10. Декомпозиция задачи При программировании в объектно-ориентированном стиле на первое место выходит проектирование решения задачи, т.е определение
- 11. Синтаксис класса class имя_класса { [private:] закрытые члены класса (функции, типы и поля-данные) public: открытые члены
- 12. Члены класса Члены-данные; Члены-функции (методы); Члены-типы – вложенные пользовательские типы, Правила доступа к членам класса и
- 13. Действия над объектами классов Над объектами класса можно производить следующие действия: присваивать объекты одного и того
- 14. Пример класса ... class A { int a; public: void set_a (int n); int get_a (
- 15. АТД (абстрактный тип данных) АТД называют тип данных с полностью скрытой (инкапсулированной) структурой, а работа с
- 16. О терминологии Оператор (statement) – действие, задаваемое некоторой конструкцией языка. Операция (operator, для обозначения операций языка:
- 17. Некоторые отличия С++ от С Введен логический тип bool и константы логического типа true и false.
- 18. Работа с динамической памятью int *p,*m; p = new int ; или p = new int
- 19. Значения параметров функции по умолчанию Пример: void f (int a, int b = 0, int c
- 20. Пространства имен Пространства имен вводятся только на уровне файла, но не внутри блока. namespace std {
- 21. Указатель this Иногда для реализации того или иного метода возникает необходимость иметь указатель на «свой» объект,
- 22. Специальные методы класса Конструктор – метод класса, который имеет имя, в точности совпадающее с именем самого
- 23. Специальные методы класса class A { ...... public: A ( ); // конструктор умолчания A (A
- 24. Правила автоматической генерации специальных методов класса Если в классе явно не описан никакой конструктор, то конструктор
- 25. Класс Box class Box { int l; // length – длина int w; // width –
- 26. Неплоский класс string class string { char * p; // здесь потребуется динамическая память, int size;
- 27. Пример использования класса string void f { string s1 (“Alice”); s1 string s2 = s1; s2
- 28. Переопределение операции присваивания string & string :: operator = (const string & a) { if (this
- 29. Композиция (строгая агрегация) объектов class Point { class Z { int x; Point p; int y;
- 30. Cсылки 1 Ссылочный тип данных задается так: & Ссылка (reference) – переменная ссылочного типа. Единственная операция
- 31. Cсылки 2 b). Передача параметров в функции по ссылке. Инициализация формального параметра ссылки происходит в момент
- 32. Cсылки 3 d). Использование ссылок – членов-данных класса. Инициализация поля-ссылки класса обязательно происходит через список инициализации
- 33. Cсылки 4 Константные ссылки е). Использование ссылок на константу– формальных параметров функций (для эффективности реализации в
- 34. Временные объекты Временные объекты создаются в рамках выражений (в частности, инициализирующих), где их можно модифицировать (применять
- 35. Порядок вызова конструкторов и деструкторов При вызове конструктора класса выполняются: конструкторы базовых классов (если есть наследование),
- 36. Вызов конструктора копирования явно, 2. в случае: Box a (1, 2, 3); Box b = a;
- 37. Вызов других конструкторов явно, при создании объекта (при обработке описания объекта), при создании объекта в динамической
- 39. Скачать презентацию