Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа № 16. Перегрузка операций и дружественные функцииСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Цель работы: овладеть практическими навыками проектирования классов и программ использующие эти классы с перегруженными операторами и дружественными функциями. Изучить: - организацию данных типа класс; - приемы реализации задач с использованием классов; - перегрузка опрераторов; - использование дружественных функций.
Контрольные вопросы 1. Равносильны ли определения класса служебными словами class, struct И union? 2. Как реализуется инкапсуляция в языке С++? 3. Может ли один экземпляр класса обратиться к закрытому члену другого экземпляра того же класса? 4. Может ли в классе быть несколько конструкторов? 5. Может ли в классе быть несколько деструкторов? 6. Что такое "друзья" класса? Задание на самостоятельное выполнение
1. Вектор в n-м евклидовом пространстве задается своими координатами. Реализовать: а) сложение (вычитание) векторов; б) скалярное произведение векторов; в) векторное произведение векторов (операция %); г) умножение вектора на скаляр. 2.Строка символов. Реализовать операции: сравнения строк (операция ==); удаления из строки указанного символа (операция -); переворота строки (операция ~), Кроме того, членом класса сделать также функцию с именем strset() для удаления из первой строки всех символов, встречающихся во второй строке. 3. В британском формате дата задается как число/месяц/год. Реализовать с учётом високосных годов: а) сложение даты и определенного пользователем количества дней; б) вычитание из даты определенного пользователем количества дней, в) вычислeниe числа дней, прошедших между двумя датами (оп. %). 4. Ввести класс для работы с прямоугольной матрицей. Реализовать следующие операции: а) сложение (вычитание) двух матриц (операции +, -); б) умножение двух матриц (операция *). 5. Комплексное число задается своиммодулем иуглом (например, число 10* (соs(p / 6) + i * sin(p / 6)) задается парой (10, p / 6). Реализовать: а) сложение (вычитание) чисел; б) произведение двух чисел; в) деление чисел; г) возведение в целочисленную степень (оператор ^); д) извлечение квадратного корня (функция sqrt()). 6. Комплексное число задается своей вещественной и мнимой частями (например, 5+3i). Реализовать: а) сложение (вычитание) чисел (операции +, -); б) произведение двух чисел (операция *); в) деление чисел (операция /); г) возведение в целочисленную степень (оператор ^); д) извлечение квадратного корня (функция sqrt()) 7. Время задается в формате час.минута.секунда, Реализовать следующие операции (учесть переход через 24ч ): а) сложение времени и определенногопользователемколичества секунд; б) вычитание из времени указанного пользователем количества секунд; в) сложение двух моментов времени; г) вычитание из одного момента времени другого; д) подсчет числа секунд между двумя моментами времени, лежащими в пределах одних суток (оператор %). 8. Ввести класс для работы с объектом "полином". Реализовать следующие операции: а) сложение (вычитание) двух полиномов; б) умножение (деление) двух полиномов; в) умножение полинома на число (операция &); г) вычисление значения полинома в заданнойточке Х(операция ()); д) дифференцирование полинома (операция ~); е) интегрирование полинома (операция!). 9. Ввести класс для работы с объектом "множество целых чисел". Реализовать следующие операции: а) объединение двух множеств (операция +); б) пересечение двух множеств (операция &); в) разность двух множеств (операция -); г) добавление элемента во множество; д) удаление элемента из множества. 10. Ввести класс для работы с объектом "рациональная дробь" (вида т/п). Реализовать: а) сложение/вычитание двух дробей; б) умножение/деление двух дробей; в) приведение дроби к несократимому виду (операция!); г) вывод дроби в виде т/п (операция <<); д) сравнения двух дробей (операция ||).
В заданиях 11 – 20 перегрузить операции ввода и вывода исходных данных. 1. Описать класс с именем STUDENT, содержащий следующие поля: фамилия и инициалы;номер группы; успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы; б) вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4,0; 2. Описать класс с именем STUDENT, содержащий следующие поля: фамилия и инициалы; номер группы; и успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия. а) ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены но возрастанию среднего балла; б) вывод па дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5. 3. Описать класс с именем STUDENT, содержащий следующие поля: фамилия и инициалы; номер группы; успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по алфавиту; б) вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2; 4. Описать класс с именем AEROFLOT, содержащий следующие поля: название пункта назначения рейса; номер рейса; тип самолета. Написать программу, выполняющую следующие действия: а)ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть упорядочены по возрастанию номера рейса; б) вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры; 5. Описать класс с именем AEROFLOT, содержащий следующие поля: название пункта назначения рейса; номер рейса; тип самолета. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке но названиям пунктов назначения; б) вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры; 6. Описать класс с именем WORKER, содержащий следующие поля: фамилия и инициалы работника; название занимаемой должности; год поступления на работу. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; записи должны быть размещены по алфавиту; б) вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры; 7. Описать класс с именем TRAIN, содержащий следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения; б) вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени; 8. Описать класс с именем TRAIN, содержащий следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда; б) вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры; 9. Описать класс с именем TRAIN, содержащий следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия: а)ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть упорядочены по номерам поездов; б) вывод на экран информации о поезде, номер которого введен с клавиатуры; 10. Описать класс с именем MARSH, содержащий следующие поля: название начального пункта маршрута; название конечного пункта маршрута; номер маршрута. Написать программу, выполняющую следующие действия: а) ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов; б) вывод на экран информации о маршруте, номер которого введен с клавиатуры;
Содержание отчета 1. Титульный лист. 2. Наименование и цель работы. 3. Краткое теоретическое описание. 4. Задание на лабораторную работу. 5. Схема алгоритма. 6. Листинг программы. 7. Результаты выполнения программы.
|
||||
Последнее изменение этой страницы: 2016-12-11; просмотров: 418; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.151.90 (0.012 с.) |