Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ввод-вывод с произвольным доступомСодержание книги
Поиск на нашем сайте Под понятием произвольного доступа к файлу подразумевается ряд различных моментов: - можно произвольно обращаться к любой записи или любому байту в файле, в противоположность последовательному доступу, когда данные извлекаются или передаются в поток строго по очереди; - в открытом файле можно произвольно чередовать операции чтения и записи; - ввод-вывод с произвольным доступом является по преимуществу бесформатным. Для позиционирования потока используются функции seekg() и seekp(). Разница между ними в том, что первая перемещает позицию чтения в потоке, а вторая устанавливает новую позицию в выходном потоке. Если используется поток типа fstream, и он открыт в режиме чтения-записи, то все равно, какую функцию применять для позиционирования. Для определения текущей позиции tellg() и tellp(). Первая возвращает позицию чтения во входном потоке, а вторая – позицию в выходном потоке.
Контрольные вопросы: 1. Какие виды строк существуют в C++? 2. Как объявить C-строку? 3. Как осуществляется ввод-вывод строк? 4. Какие операции над строками вы знаете? 5. Перечислите операции над символами? 6. Перечислите стандартные потоки ввода-вывода? 7. Как создать файловый поток? Лекция 28 Классы Цели лекции: Изучение реализации классов на С++.
Объектно-ориентированный подход к программированию. ООП представляет собой новую идеологию разработки программы. Традиционное процедурное программирование предполагает, что в некотором месте программы будут описаны данные, а затем разрабатываются функции, последовательность выполнения которых, определяет суть и способ обработки данных. Разделение данных и функций – отличительная черта процедурного программирования. Суть объектно-ориентированного подхода состоит в том, что объединяются некоторые совокупности данных и функций, связанных с этими данными в субстанции, называемые классами.
Класс Класс - фундаментальное понятие С++. Класс предоставляет механизм для создания объектов. В классе отражены важнейшие концепции объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм. С точки зрения синтаксиса, класс в С++ - это структурированный тип, образованный на основе уже существующих типов. В этом смысле класс является расширением понятия структуры. В простейшем случае: Класс – это структурированный тип, состоящий из фиксированного набора возможно разнотипных данных и совокупности функций для обработки этих данных.
Определение класса ключ_класса имя_класса // заголовок класса { список компонентов класса}; // тело класса
ключ_класса имя_класса -– одно из слов class, struct, union; имя_класса идентификатор
Список компонентов (или членов класса - member) – это в простейшем случае определения и описания типизированных данных и принадлежащих классу функций. Определения разнотипных данных в списке отделяется ‘;’, если данные однотипные, их идентификаторы можно перечислить через запятую, аналогично как в структурах. Членами класса в общем случае могут быть данные, функции, классы, перечисления, битовые поля, дружественные функции, дружественные классы и имена типов. Функции – члены класса (member functions), называют методами класса или компонентными функциями. Данные класса (data members), называют компонентными данными или элементами данных класса. Класс – это тип, который служит для определения переменных класса - объектов (экземпляров) класса. Функции – это методы класса, определяющие операции над объектом. Данные – это поля объекта, образующие его структуру. Значения полей определяет состояние объекта. Примеры. struct date // дата
{ int month,day,year; // поля: месяц, день, год void set(int,int,int); // метод – установить дату void get(int*,int*,int*); // метод – получить дату void next(); // метод – установить следующую дату void print(); // метод – вывести дату }; struct complex // комплексное число
{double re,im; double real(){return(re);} double imag(){return(im);} void set(double x,double y){re = x; im = y;} void print(){cout<<“re = “<<re; cout<<“im = “<<im;} };
Для описания объекта класса (экземпляра класса) используется конструкция: имя_класса имя_объекта; date today,my_birthday; //объявление двух объектов date *point = &today; // указатель на объект типа date date clim[30]; // массив объектов date &name = my_birthday; // ссылка на объект
В определяемые объекты входят данные, соответствующие членам - данным класса. Функции - члены класса позволяют обрабатывать данные конкретных объектов класса. Обращаться к данным объекта и вызывать функции для объекта можно двумя способами.
Первый - с помощью “уточненных” имен: имя_объекта. имя_данного; имя_объекта. имя_функции(фактические параметры); Например: complex x1,x2; x1.re = 1.24; x1.im = 2.3; x2.set(5.1,1.7); x1.print(); И с использованием указателя на объект указатель_на_объект–>имя_компонентного данного указатель_на_объект–> имя_функции(фактические параметры); complex *point = &x1; // или point = new complex; point –>re = 1.24; point –>im = 2.3; point –>print(); Второй способ с помощью “квалифицированных” имен:
<имя объекта>. <имя класса>:: <имя компонента> <имя объекта>. <имя класса>:: <вызов компонентной функции > указатель_на_объект–><имя класса>:: <имя компонента> указатель_на_объект–><имя класса>:: <вызов функции >
|
||
|
Последнее изменение этой страницы: 2021-02-07; просмотров: 216; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.33 (0.021 с.) |