Содержание
- 2. Открытие и закрытие файла Перед началом работы с файлом его надо создать (открыть), а по окончании
- 3. Функции для работы с файлами
- 4. Функции для работы с файлами
- 5. Основы объектно-ориентированного программирования
- 6. Повышение степени абстракции программы Шаг 1 – Использование функций Шаг 2 - Описание собственных типов данных
- 7. Определения Объектно-ориентированное программирование (ООП) — подход к программированию, при котором основными концепциями являются понятия объектов и
- 8. Класс В классе структуры данных и функции их обработки объединяются. Класс является типом данных, определяемым пользователем.
- 9. Терминология Объект или экземпляр класса – конкретная величина типа данных класс. Сообщение – запрос на выполнение
- 10. Основные свойства ООП • инкапсуляция; • наследование; • полиморфизм.
- 11. Инкапсуляция Инкапсуляция – объединение данных с функциями их обработки в сочетании со скрытием ненужной для использования
- 12. Инкапсуляция Инкапсуляция представляет собой механизм, который связывает вместе код и данные и который хранит их от
- 13. Наследование Наследование – возможность создания иерахии классов, когда потомки наследуют все свойства своих предков, могут их
- 14. Наследование Иерархия классов представляется в виде древовидной структуры, в которой более общие классы располагаются ближе к
- 15. Полиморфизм Полиморфизм – возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу
- 16. Классы
- 17. Разница подходов к составлению программ Процедурно-ориентированный язык: последовательность операторов, выполняющих обработку данных определенного типа; тип данных
- 18. Разница подходов к составлению программ Объектно-ориентированного подхода при составлении программ: Средства языка позволяют определять не только
- 19. Класс В языке С++ для определения абстрактного типа используется понятие класс. Класс определяет структуру памяти будущего
- 20. Класс Определение класса включает в себя описание, из каких составных частей или атрибутов он состоит и
- 21. Формат описания класса class { [private: ] public: }; // Описание заканчивается точкой с запятой где
- 22. Формат описания класса Элементы, описанные после служебного слова private, видимы только внутри класса, т.е. они являются
- 23. Формат описания класса Интерфейс класса описывается после спецификатора public. Действие любого спецификатора распространяется до следующего спецификатора
- 24. Поля класса Могут иметь любой тип, кроме типа этого же класса (но могут быть указателями или
- 25. Классы Классы могут быть: глобальными (объявленными вне любого блока); локальными (объявленными внутри блока, например, функции или
- 26. Особенности локального класса внутри локального класса можно использовать типы, статические (static) и внешние (extern) переменные, внешние
- 27. Пример В программе необходимо оперировать комплексными числами. Комплексные числа состоят из вещественной и мнимой частей, и
- 28. Пример В этом примере определен класс Complex, представляющее комплексное число. Оно состоит из вещественной части –
- 29. Создание переменной класса Переменная типа Complex: Complex number; Переменная с именем number содержит значение типа Complex,
- 30. Установка значений атрибутов объекта Для существующего объекта возможна установка значений атрибутов объекта: number.real=1; number. imaginary=2; Операция
- 31. Использование методов с объектами Complex num2; number.Add(num2); Метод Add выполняется с объектом. Методы часто называются сообщениями.
- 32. Примечания Complex x1, x2, d; // три объекта класса Complex Complex dim [10]; // массив объектов
- 33. Описание метода класса Void Complex::Add(Complex x) { this->real=this->real + x.real; this->imaginary=this-> imaginary + x. imaginary; }
- 34. #include #include using namespace std; class Complex { public: int real; // вещественная часть int imaginary;
- 35. Пример 2 Задана структура класса Q члены данные: массив целых чисел; n - переменная, определяющая текущий
- 36. #include #include class Q //Объявление клаcса Q //Объявление член-данных private: int mas[100]; //массив целых чисел; int
- 37. int main() { setlocale(LC_ALL, "rus"); int m; Q obj; //Создание объекта obj.Enter(); //Ввод данных obj.output(); //Вывод
- 38. void Q::Enter() //отложенное определение функции ввода данных { cout cin >>kol; cout for(int i=0;i { cout
- 40. Пример 3 Программа реализует следующий алгоритм: создание объекта c выделенной памятью для массива слов ; ввод
- 41. Задана структура класса Q: члены данные: массив слов (максимальный размер массива 100); максимальная длина слова len=11;
- 42. #include #include #include class Q //Объявление класcа Q { int kol; //текущий размер массива слов char
- 43. int main() { setlocale(LC_ALL, "rus"); int max=NULL; // результат- максимальная длина и слово максимальной длины char
- 44. void Q::Enter() /* отложенное определение член-функции ввода данных */ { cout cin >>kol; cout cin.get(); for(int
- 45. void Q::Output() /* отложенное определение член-функция вывода данных */ { cout for(int i=0; i cout "
- 46. Переопределение операций
- 47. Переопределение операций В языке С++ допустимо, что класс будет практически неотличим от предопределенных встроенных типов при
- 48. Переопределение операций // определение класса комплексных чисел class Complex { public: int real; // вещественная часть
- 49. Complex operator+ (const Complex x) const; Вместо метода Add появился метод operator+. Этот метод возвращает значение
- 50. Определение операции сложения Complex:: operator+ (const Complex x) const { Complex result; result.real = real +
- 51. Переопределение операций В языке С++ допускается определение в одном классе нескольких методов с одним и тем
- 52. Переопределение операций // определение класса комплексных чисел class Complex { public: int real; // вещественная часть
- 53. Пример Complex c1; Complex c2; long x; c1 + c2; c2 + x;
- 54. Полный пример #include #include using namespace std; class Complex { public: int real; // вещественная часть
- 56. Скачать презентацию