Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1

Нет

[ Посмотреть весь список ]


Больше всего посетителей (9) здесь было Вс Фев 11, 2018 12:54 pm
Самые активные пользователи за неделю
Ярослав
 


[П 32017] Домашние задания

Перейти вниз

[П 32017] Домашние задания

Сообщение автор Ярослав в Вс Апр 22, 2018 8:36 am

Д/з №01 (22 апреля 2018)
Классы
Срок: по 28 апреля

1. Написать класс числового счётчика. Примерами числовых счётчиков являются счётчики воды, электричества, счётчик пробега в автомобиле.

Счётчик инкапсулирует (скрывает) в себе две целочисленные переменные: текущее показание и максимальное возможное значение. Текущее показание может только увеличиваться. По достижении максимального значения счётчик автоматически переполняется и обнуляется.

Данные класса приватные, доступ к ним возможен только через следующие публичные методы:
• узнать текущее показание счётчика;
• узнать максимальное возможное значение счётчика;
• увеличить текущее показание счётчика на 1 (с автоматическим переполнением, если надо).

Какие здесь требуются конструкторы и деструкторы?

2. Написать класс Group, описывающий группу студентов. Он, в свою очередь, опирается на класс Student, описывающий одного студента.
avatar
Ярослав
Admin

Posts : 514
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Апр 29, 2018 8:41 am

Д/з №02 (29 апреля 2018)
Классы. Конструктор копирования
Срок: по 12 апреля

1. Разработать класс Person, который содержит соответствующие члены для хранения:

• имени
• даты рождения
• пола
• телефонного номера
• адреса электронной почты

Напишите методы, которые смогут изменять эти члены данных индивидуально (сеттеры). Напишите метод Person::print(), который выводит отформатированные данные о человеке на экран, и функцию Person::input (), позволяющую ввести данные о человеке с клавиатуры.

2. Написать класс стэка на основе динамического массива из целых чисел. Стэк должен поддерживать операции:

• добавить элемент на вершину стэка
• извлечь элемент с вершины стэка
• узнать число элементов
• конструктор копирования
• деструктор
avatar
Ярослав
Admin

Posts : 514
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Май 13, 2018 8:41 am

Д/з №03 (13 мая 2018)
Перегрузка операторов. Константные методы
Срок: по 19 мая

1. Создайте класс Time (время), хранящий в себе момент времени в сутках: часы, минуты, секунды. Перегрузите следующие операторы:

• Оператор сложения: при сложении момента времени Time и int (целого числа секунд) получается новый экземпляр Time, смещённый относительно исходного момента времени. При этом может происходить переполнение, например, вместо 25 часов должно получиться 1.
• Оператор вычитания: при вычитании момента времени Time и int (целого числа секунд) получается новый экземпляр Time, смещённый назад. Обработать возможность переполнения вниз (не должно быть -1 часа)
• Оператор вычитания моментов времени: при вычитании из одного Time другого Time должно получаться int (целое число секунд) — разница между моментами времени в секундах

• Оператор преобразования типа: из Time в int. Момент времени внутри суток можно представить как одно большое целое число — сколько секунд прошло начиная с момента 0:00:00. Это делается по формуле hours * 3600 + minutes * 60 + seconds.
• Конструктор для обратного преобразования: из int в Time

• Оператор присваивания: выражение Time = Time означает команду скопировать состояние объекта справа в объект слева. Оператор присваивания возвращает ссылку на объект слева.

2. В этом же задании проследите, чтобы все методы, не изменяющие состояние объекта, были помечены ключевым словом const.

Объекты везде, где можно, нужно передавать по константной ссылке.
avatar
Ярослав
Admin

Posts : 514
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Ярослав в Вс Май 20, 2018 8:45 am

Д/з №04 (20 мая 2018)
Перегрузка операторов ++, --, []
Срок: по 26 мая

1. Написать класс динамически выделенного массива целых чисел. Необходим деструктор, конструктор копирования, оператор присваивания.

Перегрузить следующие операции:
• ++a: увеличивает на 1 все значения в массиве, возвращает ссылку на сам объект
• a++: увеличивает на 1 все значения в массиве, возвращает копию старого состояния массива
• --a: уменьшает на 1 все значения в массиве, возвращает ссылку на сам объект
• a--: уменьшает на 1 все значения в массиве, возвращает копию старого состояния массива

• int a[i]: позволяет прочитать значение из массива по индексу i
• int &a[i]: позволяет записать значение в массив по индексу i
avatar
Ярослав
Admin

Posts : 514
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: [П 32017] Домашние задания

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения