Подробнее о заявке
Предмет Моделирование систем
Заявка номер 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
Виктория Лукьянова 27.12.2022
Никаких нареканий по поводу работы у требовательного преподавателя не было, спасибо!
Елизавета 15.05.2022
Добрый день, получила 30 баллов из 42.
Сергей 21.04.2022
Работа выполнена быстро и качественно, большое спасибо!
Анастасия 17.01.2021
Отлично, уже проверили и по всем трем получила высший балл. Спасибо вам.
nguyen 07.11.2020
Молодец! Спасибо тебе большое
Екатерина 07.10.2020
Оценка отлично, спасибо!
Владислав 18.09.2020
Спасибо вам все зачтено!
Влад 28.12.2019
Спасибо! Все супер!
Александр ( клиенту только ЗВОНИТЬ) 04.09.2019
Зайцева и Гладкая супер работники.
Лайфхаки по оформлению работ
Методы научного исследования в магистерской диссертации + пример

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

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

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

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