Подробнее о заявке
Предмет Моделирование систем
Заявка номер 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 руб.

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

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

Елена Боброва 19.06.2024
Быстро, четко по делу без лишних доработок. Очень хорошо выполнена работа.
Марина 07.06.2023
Работает оперативно, качественно, приветливо, уважительно. Спасибо!!!
Ирина 13.03.2023
Всё отлично. Преподаватель без дополнительных вопросов поставила 4, несмотря на то, что работу я сдавала позже, чем нуж…
Анна Волкова 12.01.2023
Работу приняли. Есть недочеты, но преподаватель оценил на "хорошо"
Алина 01.10.2022
Слишком круто. 1000000/10
Михаил (не звонить)Писать в ЛК 29.04.2022
Преподаватель принял работу с первого раза, без каких-либо замечаний.
Иван 29.03.2022
Работа выполнена хорошо! Спасибо за подбор автора и конечно самому автору!
Денис 30.01.2022
все прекрасно все сдал
Влад 28.12.2019
Спасибо! Все супер!
Александр ( клиенту только ЗВОНИТЬ) 04.09.2019
Зайцева и Гладкая супер работники.
Лайфхаки по оформлению работ
Методы научного исследования в магистерской диссертации + пример

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

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

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

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