Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комплект Информатика / Лабораторный практикум.doc
Скачиваний:
178
Добавлен:
22.05.2015
Размер:
6.45 Mб
Скачать

Порядок выполнения работы

Рассмотрим в качестве примера описание класса принтеров. Включим в его состав следующие свойства: модель, год выпуска и состояние принтера; спрячем эти свойства от постороннего воздействия, поместив в разделprivate. Ограничимся двумя возможными состояниями принтера: 0–принтер готов к работе, 1– принтер печатает. Методы сделаем доступными для других объектов.

Методinit_printer()позволит установить начальные значения свойствам принтера. Методset_print()переведет принтер в состояние печати, если принтер до того находился в состоянии готовности, и не изменит его состояния, если принтер уже печатал. Методstop_print()приводит к остановке печати.

Методshow()отображает состояние принтера на экране:

classPrinter

{

private:

char model[15];//модельпринтера

intyear;//год выпуска

intstatus;//состояние принтера

public:

void init_printer(char* _model, int _year);

voidset_print();

voidstop_print();

voidshow();

};

Замечание.Если раздел private включен в объявлении класса первым, ключевое слово private можно опустить:

class Printer

{

charmodel[15];//модельпринтера

int year;//год выпуска

int status;//состояние принтера

public:

void init_printer(char*_model,int_year);

voidset_print();

voidstop_print();

void show();

};

Описаниеметодов:

void Printer::init_printer(char* _model,int _year)

{

strcpy(model,_model); //инициализациясвойства model

year=_year;//инициализация свойстваyear

status=0;//начальное состояние – готов к печати

}

void Printer :: set_print()

{

if(!status) status=1;

}

void Printer :: stop_print()

{

status=0;

}

void Printer :: show()

{

cout<<"Model:"<<model<<"year:"<<year<<"status:"<<status<<endl;

}

В главную часть программы– функциюmain()– включим следующие действия: создание объекта, инициализация свойств объекта, изменение состояния объекта и вывод его текущего состояния на экран:

int main(void)

{

Printerprinter;//созданиеобъекта

//инициализация свойств объекта

printer.init_printer("HP5P",1999);

printer.show();//вызовметодаобъекта

printer.set_print();

printer.show();

printer.set_print();

printer.show();

printer.stop_print();

printer.show();

return0;

}

В результате работы программы на экране появятся 4 строки текста:

Model: HP5P year: 1999 status: 0,

Model: HP5P year: 1999 status: 1,

Model: HP5P year: 1999 status: 1,

Model: HP5P year: 1999 status: 0.

Отчет о работе

Отчет должен содержать:

  1. Тему и цель работы.

  2. Исходные данные задания.

  3. Листинг программы.

  4. Результат работы программы.

  5. Ответы на контрольные вопросы.

  6. Выводы о проделанной работе.

Контрольные вопросы

  1. Что такое класс?

  2. В чем состоит различие между классом и объектом?

  3. Предположим, что классы PartTimeEmployeeиFullTimeEmployeeнаследуют свойства классаEmployee. Какими характеристиками будут обладать эти классы?

  4. Что такое интерфейс класса?

  5. Что такое наследование?

  6. Что такое полиморфизм?

  7. Что такое инкапсуляция?

Лабораторная работа № 21.

Последовательные списки

Цель работы

Формирование навыков организации данных в виде последовательных списков на языке программирования высокого уровня.

Задание для самостоятельной подготовки

  1. Изучить основы организации данных в виде последовательных списков на языке программирования С++[1], стр. 337-343, [7], стр. 115-119.

  2. Изучить содержание и порядок выполнения лабораторной работы.

Основы теории

Список – это набор записей, выстроенных в определенной последовательности. Простым примером списка может служить пин-код магнитной карты. Зная последовательность заветных цифр, мы всегда сможем воспользоваться услугами сберегательного банка. Набор записей, сохраняющих информацию в последовательном порядке, называется последовательным (непрерывным) списком.

Если записи в списке расположены друг за другом, по какому либо критерию, то такой список называется упорядоченным:

Полотно 182

Рисунок 1 – Упорядоченный по возрастанию последовательный список