Материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.
Подробнее о заявке
  • Тип Лабораторная работа
  • ПредметМоделирование систем
  • Заявка номерPrivate
  • Стоимость 1248 руб.
  • Уникальность 70%
  • Объем 30 стр.
Дата заказа: 04.02.2015
Выполнено: 09.02.2015
Лабораторная работа по моделированию систем:

Объектноориентированное программирование вар. 838780

Задание
  1. В этой части лабораторной работы изучим первые два типа полиморфизма — это: а) принудительное приведение типа; б) перегрузка функций и операторов.
  2. Напишите функцию приведения типа. Для этого с по- мощью ключевого слова operator напишите функцию объекта Person, которая преобразует тип Person в double. Пусть функция возвращает возраст человека, например: Person::operator double() { return this->Age; }. Что означает ключевое слово this?
  3. Проверьте функцию преобразования типа. В функции int main() далее определите переменную double и присвойте ей объект Person, например: double age = group.GetPerson(2);.

То есть совершается неявное преобразование из типа Person в тип double при обращении к объекту. Выведите значение пе- ременной на экран.

  1. Перегруженные функции имеют одинаковое название, но разный возвращаемый тип или/и разный список аргументов. Определите в объекте Group две функции с одинаковым име- нем, например: double Age(); и double Age(int limit);. Первая функция пусть возвращает средний возраст группы людей, а вторая функция пусть возвращает средний возраст людей в группе, возраст которых не больше некоторого граничного зна- чения limit. Функции отличаются списком аргументов.
  2. Проверьте работу перегруженных функций, отобразив на экране подсчитанные два значения среднего возраста.
  3. Перегрузите оператор индексирования. Если раньше, чтобы обратиться к элементу массива, нам необходимо было вызывать функцию GetPerson, то, определив оператор индекси- рования, мы будем использовать только квадратные скобки. Сравните две строки кода: Person man = group.GetPerson(2); Person man = group[2]; В объекте Group с помощью ключевого слова operator оп- ределите оператор индексирования, например: Person& Group::operator[](int i). В теле оператора напишите код, возвращающий i-тый эле- мент массива, т.е. объект Person.
  4. Выведите на экран с помощью оператора индексирова- ния любой один элемент массива group, например третий.
  5. Перегрузите бинарный оператор, например оператор сложения (+), для объекта Person. Пусть оператор сложения будет возвращать суммарный возраст двух человек. Опишите в объекте Person данный оператор как дружественную функцию с помощью ключевого слова friend, например: friend double operator+(Person& p1, Person& p2); Эта строка кода означает, что оператор сложения не при- надлежит объекту, но ему доступны все закрытые данные и ме- тоды объекта. В файле person.cpp определите оператор сложения, напри- мер: double operator + (Person& p1, Person& p2) { return (p1.Age + p2.Age); } Здесь мы напрямую обращаемся к закрытому полю Age объекта Person.
  6. Проверьте работу оператора с помощью следующих строк кода: double sum = group[1] + group[3]; cout
Читать больше
Срок выполнения:
  • Бесплатные корректировки
  • Шпаргалки в подарок!
  • Предоплата всего 25%
от 2 дней
Похожие заявки по моделированию систем

Тип: Лабораторная работа

Предмет: Моделирование систем

Моделирование дискретных случайных событий

Стоимость: 1188 руб.

Тип: Лабораторная работа

Предмет: Моделирование систем

Моделирование и анализ бизнеспроцессов

Стоимость: 1308 руб.

Тип: Лабораторная работа

Предмет: Моделирование систем

Динамические звенья

Стоимость: 1380 руб.

Закажи Лабораторную работу с полным сопровождением до защиты!
Думаете, что скачать готовую работу — это хороший вариант? Лучше закажите уникальную и сдайте её с первого раза!

Отзывы студентов

Общий рейтинг
0.00 из 5 (0 голосов)
Наталья 13-10-2026
Спасибо огромное за помощь! Не первый раз к Вам обращаюсь и всегда всё на отлично!
Максим 13-10-2026
Хорошая работа. Руководитель похвалил
Анастасия 12-10-2026
Огромное спасибо за проделанную работу! Работу оценили на самую высокую оценку, в чем я и не сомневалась!
Марина 11-10-2026
Все понравилось, спасибо огромное. При любом вопросе отвечают сразу. Если вдруг, нужна помощь или нужно что-то скорек...
Константин 11-10-2026
Спасибо за работу! Продолжу сотрудничать с сервисом. Все понравилось.
Михаил 10-10-2026
Нет такого слова которое оценило все их великолепие. Спасибо
Надежда 09-10-2026
добрый вечер! работа оценена на отлично, спасибо автору, все выполнено раньше срока, без правок.
Мария 08-10-2026
Заказывала работы 3 раза все отлично сделано , буду пользоваться ещё )
Любовь 08-10-2026
Здравствуйте. Спасибо большое за разработку урока ,,Музыкальные портреты в кюях Даулеткерея Шигаева". Мне очень понра...
Татьяна 08-10-2026
Спасибо за работу. Очень выручили. Заказ выполнен в срок и в соответствии с заявленными требованиями
Лайфхаки по оформлению работ
Как сделать и оформить лабораторную работу по программированию

Информационные технологии и компьютерные науки — одни из самых популярных специальностей у современных абитуриентов. В профессии программиста молодёжь привлекает востребованность на рынке труда, хорошая зарплата, комфортные условия работы. Но прежде, чем получить всё это, необходимо окончить универс...

Читать дальше
Как оформить докторскую диссертацию

Итог обучения в докторантуре — защита диссертации. Это серьезное исследование, в котором решается важная научная проблема. Важно не только создать этот научный труд, но и правильно его оформить. В этом поможет наша статья и примеры. Больше полезной информации по студенты и соискатели найдут в нашем...

Читать дальше

Предложение актуально на 17.10.2026