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

«Объектноориентированное программирование»

Задание
  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 дней
Похожие заявки по моделированию систем

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

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

Выполнить лабораторную работу в GPSS

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

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

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

Описание проблемной ситуации в терминах теории систем. Сделать по примеру. Несложно. Мало.

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

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

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

графическое моделирование

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

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

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

Метод наименьших квадратов (Линейная регрессия)

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

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

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

Практическая работа в программе Rational Rose

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

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

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

Практическая работа uml диаграммы

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

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

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

Выполнить лабораторную работу в LabVIEW

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

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

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

Создать модель в AnyLogic передача данных в сети

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

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

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

Александр 02.04.2024
Вся работа выполнена правильно, помогли сдать лабораторную, 5/5
Ярослав 20.09.2022
+ Работ сделана хорошо,раньше срока.Все сдал. - цена большая,было бы интересно как идет оценка работы.
Ксения 03.05.2022
работы все приняты и оценены высшим баллом!
Виктория 20.02.2022
Всё идеально, большое спасибо) Буду обращаться к вашей помощи и в дальнейшем)
Егор 02.01.2021
Спасибо вам за выполненную работу. Все было хорошо, все было сдано на отлично.
Артем 03.12.2020
Очень крутые ребята
Марина 25.11.2020
всем рекомендую пользоваться этим сайтом. Всем огромное спасибо
Михаил 30.06.2020
Всё было хорошо, поставили 9 из 10 баллов, спасибо)
Влад 28.12.2019
Спасибо! Все супер!
Александр ( клиенту только ЗВОНИТЬ) 04.09.2019
Зайцева и Гладкая супер работники.
Лайфхаки по оформлению работ
Методы научного исследования в магистерской диссертации + пример

Соискатели научной степени не только занимаются проведением важнейших исследований, которые могут сказаться на нашей жизни, но и должны грамотно их оформить.Чтобы получить заветную степень магистра, об особенностях которой вы можете узнать на нашем , не обойтись без написания столь сложной и трудое…

Читать дальше
Как написать сочинение: план, вступление, позиция автора, заключение, выводы

Написать сочинение непросто: это творческая работа, в которой нужно не только продемонстрировать знание предмета, но и собственное мнение о поднятой проблеме. Эта работа похожа на , только более свободной формы.Тем не менее есть структурные элементы, которые обязательно должны быть в тексте: начало…

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