KURSOVIK.COM
Список всех
готовых работ
по программированию
сайта KURSOVIK.COM

Лабораторная работа
ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов.
в среде программирования DEV C++ (Си++)
Программа и описание

© Данная готовая работа выполнена сотрудником нашего сайта. Если Вы считаете, что эта страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи.
Мы можем переписать данную программу на C# в Visual Studio. Если это нужно -> Нажмите сюда для заказа.
Если Вам нужны все файлы проекта данной программы на языке программирования DEV C++, заполните форму заказа, которая доступна по следующей ссылке.

Среда программирования: DEV C++

Название работы: ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов.

Вид работы: Лабораторная работа

Тематика работы: Прочие

Объем программы: 3 (по десятибалльной шкале)

Уровень сложности: 4 (по десятибалльной шкале)

Разработчик (автор): Программист сайта kursovik.com (письмо автору)
Данная работа написана ЧЕЛОВЕКОМ без использования ИИ

Ключевые слова: ТУСУР, ФДО, Динамический массив объектов, Деструктор объекта, полиморфизм, принудительное приведение типа, перегрузка функций, перегрузка операторов, операторы унарные, операторы бинарные

Функции программы:

ООП. Объектно-ориентированное программирование.
Лабораторная работа 2.
Создание динамического массива объектов. Деструктор объекта. Два типа полиморфизма: принудительное приведение типа, перегрузка функций и перегрузка операторов (унарных и бинарных).
Разработать программу на С++ в соответствии с заданием.

Вариант 21. Договор.
номер — int
руководитель — char
сумма — float

Работа № 2
1. В среде программирования на С++ создайте консольный проект с именем LAB2 в каталоге LAB2.
2. Переименуйте файл main.h из предыдущей лабораторной в person.h. Создайте файл person.cpp и включите в проект эти два файла. Переместите конструктор и функции объекта Person из main.cpp в файл person.cpp. Таким образом, файл person.h содержит описание объекта Person, а файл person.cpp — реализацию
объекта Person.
3. Включите в проект файл main.cpp и очистите тело функции main().
4. Определим объект Group, который будет содержать динамический массив объектов Person. Создайте два файла group.h и group.cpp и включите их в проект.
5. В файле group.h определите с помощью ключевого слова class объект Group.
Данные объекта:
размер массива (целый тип)
указатель на массив (тип Person*).
Пусть данные имеют закрытый уровень доступа (private).
6. Опишите конструктор объекта с одним аргументом — размер массива (целый тип) и деструктор объекта.
7. Откройте файл group.cpp. С помощью директивы #include включите необходимые заголовочные файлы.
8. Определите конструктор объекта Group. В теле конструктора проинициализируйте данные объекта, т.е. проинициализируйте размер массива значением аргумента конструктора и выделите динамическую память под массив с помощью строки кода:
указатель на массив = new Person[размер массива].
9. В деструкторе объекта освободите память, занимаемую массивом, с помощью строки кода delete [] указатель на массив.
Таким образом, мы создали объект Group, который содержит массив объектов Person.
10. Определим открытые (public) методы для объекта Group. Напишите функцию void Group::Print(), которая выводит в цикле for все записи массива на экран. В теле цикла примените ранее написанную функцию Print() для объекта Person.
11. Напишите функцию int Group::Size(), которая возвращает размер массива.
12. Напишите функции void PutPerson(int i, Person& man); и Person& GetPerson(int i);, первая функция заносит объект man типа Person в i-й элемент массива, вторая функция возвращает объект типа Person из i-го элемента массива.
13. Заполните массив данными и затем выведите их на экран. Для этого в теле функции int main() сначала определите массив имен, которые будут заносится в поле ФИО объекта Person, например, char names[5][25] = {"A", "B", "C", "D", "E"};.
Затем создайте объект с именем group типа Group размером пять записей, т.е. Group group(5);.
14. Ниже с помощью цикла for заполните массив данными. Для этого в теле цикла создайте объект Person, проинициализировав все его данные, и с помощью функции PutPerson занесите объект в массив.
15. Выведите массив на экран с помощью строки кода: group.Print();. Получилось? Если да, то вы научились создавать динамический массив объектов, определять функции работы с таким массивом и выводить его на экран.
16. В этой части лабораторной работы изучим первые два типа полиморфизма — это а) принудительное приведение типа;
б) перегрузка функций и операторов.
17. Напишите функцию приведения типа. Для этого с помощью ключевого слова operator напишите функцию объекта Person, которая преобразует тип Person в double. Пусть функция возвращает возраст человека, например, Person::operator double() { return this->Age; }. Что означает ключевое слово this?
18. Проверьте функцию преобразования типа. В функции int main() далее определите переменную double и присвойте ей
объект Person, например:
double age = group.GetPerson(2);.
То есть совершается неявное преобразование из типа Person в тип double при обращении к объекту. Выведите значение переменной на экран.
19. Перегруженные функции имеют одинаковое название, но разный возвращаемый тип или/и разный список аргументов.
Определим в объекте Group две функции с одинаковым именем, например double Age(); и double Age(int limit);. Первая функция пусть возвращает средний возраст группы людей, а вторая функция пусть возвращает средний возраст людей в группе, возраст которых не больше некоторого граничного значения limit. Функции отличаются списком аргументов.
20. Проверьте работу перегруженных функций, отобразив на экране подсчитанные два значения среднего возраста.
21. Перегрузите оператор индексирования. Если раньше, чтобы обратиться к элементу массива, нам необходимо было вызывать функцию GetPerson, то, определив оператор индексирования, мы будем использовать только квадратные скобки. Сравните две строки кода:
Person man = group.GetPerson(2);
Person man = group[2];
В объекте Group с помощью ключевого слова operator определите оператор индексирования, например: Person& Group::operator[](int i).
В теле оператора напишите код, возвращающий i-ый элемент массива, т.е. объект Person.
22. Выведите на экран с помощью оператора индексирования любой один элемент массива group, например третий.
23. Перегрузим бинарный оператор, например оператор сложения (+), для объекта 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.
24. Проверим работу оператора с помощью следующих строк кода:
double sum = group[1] + group[3];
cout << sum << endl;

Скачать Demo-файл программы

900 руб RU
+ 20 руб
34.70 Бел.руб BY
+ 0.77 Бел.руб
6120 тенге KZ
+ 136 тенге
Купить

Задать вопрос менеджеру по продажам


Описание (отчет): Есть на 6 страниц, посмотреть оглавление

 

Пояснения к компиляции и запуску программы:

Для работы с программой нужно запустить файл "main.exe".

Пояснения к запуску программы:

Для работы с программой нужно запустить файл "main.exe".



Статистика отдела программирования на заказ:
На данный момент (15 июня 2026) на выполнении находится 12 заказов.
Количество программистов, занятых выполнением текущих заказов: 5.
В текущем месяце (июнь 2026) нами уже выполнено 15 заказов.
В текущем году (2026) нами уже выполнено 215 заказов.
В прошлом году (2025) нами было выполнено 581 заказ.
В позапрошлом году (2024) нами было выполнено 762 заказа.
Количество активных программистов на сайте: 52.
Загруженность отдела заказами: 20%.

Результаты работы программы
ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов.

Файлы программы

Файлы программы
Имя
Тип
Размер
Описание
исходники
<DIR>
Каталог
lr2
<DIR>
Каталог
agreement
cpp
1280
Исходный код С++
agreement
h
589
Заголовочный файл C++
group
cpp
1341
Исходный код С++
group
h
436
Заголовочный файл C++
main
cpp
997
Исходный код С++
main
exe
1006450
Исполняемый файл

Оформление программы
К программе прилагается:

Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора проверку текущей оригинальности работы по версии системы Антиплагиат.РУ


ВНИМАНИЕ ! Если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Чтобы узнать цену, нажмите на эту ссылку.

Отчет (1)
 Отчет к программе. Содержание
Лабораторная работа

ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов.


СОДЕРЖАНИЕ


Задание, описание, листинг, скрин работы программы.

 Предварительный просмотр
Скриншот отчета/описания

Стоимость готовой работы
Скачать Demo-файл программы  (225 Кб
 
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 900 руб РФ
 
Стоимость ОТЧЕТА составляет 20 руб РФ

Продажа каждой работы строго учитывается,
у каждой работы есть своя история продаж.

Заказ готовой работы
ФОРМА ЗАКАЗА
Для заказа готовой работы, заполните данную форму и нажмите кнопку ПРИОБРЕСТИ

Ваше имя:
Ваш E-mail:
(пожалуйста укажите реальный E-mail адрес)
Просим Вас после заполнения данной формы проверить почту и найти наше письмо. Если письма в папке ВХОДЯЩИЕ не будет, пожалуйста проверьте папку СПАМ и, если письмо там найдётся, пометьте его как НЕ СПАМ, тем самым Вы поможете перестроить почтовую систему на правильный лад. Кроме этого, при заполнении данной формы, просим Вас указать больше контактов, например Ваш VK или мессенджер и мы продублируем наш ответ на Вашу заявку сообщением на Ваш дополнительный контакт, так будет надёжнее.
Ваш сотовый: (желательно)
Ваш ВУЗ: (аббревиатура)
Ваш город:
Ваша страна:
   
Вам нужен: Исходный текст программы (исходники) = 900 руб RU 34.70 Бел.руб BY 6120 тенге KZ
Отчет = + 20 руб RU 0.77 Бел.руб BY 136 тенге KZ

Итого: 900 руб RU 34.70 Бел.руб BY 6120 тенге KZ

Введите код с картинки:
код

 Я принимаю Пользовательское соглашение



При проведении оплаты с территории РФ платёж будет произведён через систему Ю.Касса, которая обеспечивает полную защиту онлайн-платежей при покупках в сети Интернет. Оплатить заказ можно как электронными деньгами, так и банковской картой, в том числе и по кредитной карте. Работает оплата через Сбер-Pay - оплата по QR-коду в приложении Сбербанк-Онлайн.
При проведении оплаты с территории РФ, файлы отправляются автоматически 24 часа 7 дней в неделю сразу после оплаты заказа.

При проведении оплаты не с территории РФ платёж будет зачислен в ручном режиме нашим администратором, для этого потребуется некоторое время.
При проведении оплаты не с территории РФ, файлы отправляются администратором с 10:00 МСК до 22:00 МСК 7 дней в неделю.

Приобретаемая Вами готовая работа является справочным материалом и НЕ является программным продуктом, либо товаром. Она продаётся КАК ЕСТЬ, поэтому обмену либо возврату НЕ подлежит. Подробности смотрите по следующей ссылке.

Вы можете связаться с нами по следующим контактам:

MAX: max.ru/u/f9...JfZUts
Telegram: Vitaly_work
ВКонтакте: kursovikcom
WhatsApp: +79033241149
Viber: +79033241149
imo: +79033241149
bip: +79033241149
E-mail: prog@kursovik.com

Если Вам необходимо модифицировать эту программу нажмите сюда
Если Вам необходимо написать работу "с чистого листа" на нужную Вам тему, нажмите сюда

Информация

ВНИМАНИЕ! Данная работа написана ЧЕЛОВЕКОМ без использования ИИ

Вопросы и ответы

Общие вопросы
  • Как можно приобрести данную готовую работу ?
    • Заполните форму, которая расположена чуть Выше данного текста и нажмите кнопку "Приобрести"

  • Каким образом производится оплата ?
    • После заполнения формы Вы получите на свой E-mail автоматическое письмо со всеми подробностями оплаты заказа. Оплата производится через платёжную систему Ю.Касса, которая обеспечивает полную защиту онлайн-платежей при покупках в Интернете. Оплатить заказ можно как электронными деньгами, так и банковской картой, в том числе и кредитной.

  • Как быстро я получу данную работу после ее оплаты ?
    • В течение нескольких минут с момента оплата заказа. Мы работаем 7 дней в неделю.

  • Каким образом будет доставлена мне данная работа после оплаты ?
    • На Ваш E-mail адрес и в личном кабинете нашего сайта sys.kursovik.com.

  • Какие Вы даете гарантии, что данная работа будет выслана мне после оплаты ?
  • Что включает в себя исходный текст программы ? Вы пришлете все файлы проекта ?
    • Да, после оплаты Вы получите все файлы проекта данной работы, при желании сможете редактировать (видоизменять) программу (её описание) самостоятельно.

  • Зачем в форме заказа вы просите ввести мой ВУЗ и город ?
    • Эти данные нам нужны для того, чтобы можно было предотвратить повторную продажу работы в один и тот же ВУЗ. На сайте в таблице продаж публикуется только информация о городах, куда была продана работа. Если клиент видит, что в его город работа уже покупалась, то он может запросить у нас название ВУЗов, куда покупалась эта работа. Данные о ВУЗе клиента хранятся только в нашей базе, в открытом доступе их нет. Если Вы все-таки не хотите оставлять информацию о городе и ВУЗе, то просто введите в соответствующие поля несколько пробелов. Тем не менее, мы Вам рекомендуем всё-таки указать достоверную информацию, тем самым Вы застрахуетесь от того, чтобы кто-то из студентов Вашего ВУЗа вместе с Вами сдавал одинаковую работу одному и тому же преподавателю.

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

  • Действительно ли данная работа является уникальной ?
    • Да, мы можем гарантировать уникальность данной работы.
      Она была разработана нашим программистом и выставлена на продажу в 2022 году.

  • Сколько раз была продана данная работа ?
    • Ни разу.

  • Есть ли отчет (описание) к данной работе ?
    • Есть, но если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Для этого заполните пожалуйста форму, приведенную ниже. В форме укажите требуемое оглавление(план) отчета. Если в Вашем ВУЗе никаких особых требований к отчету не выдвигают, тогда выберите пункт "требований к отчету нет, всё на усмотрение программиста".

      Ваше оглавление для написания отчета к готовой программе «ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов. / DEV C++»

      Ваше имя:
      Ваш город (где учитесь):
      Ваша страна:
      Ваша E-mail:


      Если никаких особых требований к отчету в Вашем ВУЗе не выдвигают, тогда выберите пункт:

      Требований к отчету нет, всё на усмотрение программиста

      Если у Вас есть методичка в электронном виде по выполнению данной работы, требования к отчету или любая другая информация, необходимая для написания отчета к программе, пожалуйста приложите ее к форме в виде архива ZIP или RAR, рисунка GIF или JPG, документа PDF. Приложить файл:

      Введите код с картинки:
      код

       Я принимаю Пользовательское соглашение

      Чтобы отправить форму нажмите кнопку:

Рекомендуем Вам также посмотреть нашу рубрику "вопросы и ответы".

Задать вопрос по данной готовой работе

Если у Вас возник какой-либо вопрос по данной работе, пожалуйста заполните форму, приведенную ниже.
Ответ будет дан автором данной работы в обязательном порядке. Время отклика - 2-24 часа с момента заполнения формы. Если Ваш вопрос окажется полезным, мы разместим его на этой странице.

Ваше имя: *
Ваш город (где учитесь): *
Ваша страна: *
Ваш E-mail: *
Ваш сотовый: (если нужно продублировать ответ SMS-кой)

Ваш вопрос автору готовой работы «ООП. ЛР2. Объектно-ориентированное программирование. Вариант 21. Договор номер — char* руководитель — char* сумма — float. Динамический массив объектов. / DEV C++»



Введите код с картинки:
код

 Я принимаю Пользовательское соглашение


Телеграм-БОТ - помощь в поиске готовых работ по программированию


ВНИМАНИЕ! НОВИНКА!
Попробуйте наш Телеграм-БОТ для поиска готовых работ по программированию...

Программирование на заказ

Программирование на заказ
*Имя:
*E-Mail:
Моб.телефон:
ВКонтакте:
Telegram:
Viber:
WhatsApp:
FaceBook:
Instagram:
 
 
ВУЗ:
Специальность:
Город ВУЗа:
Страна:
 
*Введите код с картинки:
код
(сменить)

 Я принимаю Пользовательское соглашение

Список всех готовых работ
Выборка готовой работы из рубрикатора

| Программирование | Менеджмент, Экономика, Бух.учёт | Юриспруденция |
| Психология | История | Электроника, Радиотехника, Механика |