Лекция 5. Подготовка к ООП Красс Александр СПбГУ ИТМО, 2008
2 Книжный склад Должны уметь находить все книги с указанным пользователем названием книги, издательством, и так далее. Просматривать все известные данные о найденных книгах.
3 Книжный склад Для каждой книги, как минимум, нужно хранить: –название –список авторов –издательство –номер стеллажа –число экземпляров. Как хранить книги в программе?
4 Как хранить книги? Для каждого атрибута книги сделаем отдельный массив: char ** titles; char ** publishingOffices; int * shelves;...
5 Как хранить книги? Неудобно в программе хранить несколько различных наборов книг – для каждого из них нужно создавать свои массивы. Если у нас несколько наборов книг, то неудобно передавать книги в функции.
6 Как хранить книги? Книга – это объект, у которого есть "характеристики" или атрибуты (далее будем их часто называть полями). Например, название, издательство, цена за экземпляр и т. д. Давайте хранить все атрибуты книги в одном месте.
7 Как хранить книги? struct Book { char * title; char * publishingOffice; int shelve;... }; Book *books = new Book[maxBookNumber];
8 Как использовать структуры Book *books = new Book[10];... cout << books[5].title << endl; Book b; b.title = T; cout << b.title << endl; Book *pb = new Book; pb->title = T; cout title << endl;
9 Как хранить книги? А что это нам даёт? –Удобно передавать книги в функции. –Простота использования в программе нескольких хранилищ книг. –Все атрибуты книги объявлены в одном месте.
10 Спасибо за внимание Вопросы?