![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 427; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.186.131 (0.011 с.) |