Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2017, 01:58   #1
YRELIS
Пользователь
 
Регистрация: 10.07.2015
Сообщений: 14
Вопрос Абстрактный класс Pair

Доброй ночи!
Кто не спит и не занят, помогите разобраться с задачей:

Создать класс Pair (пара целых чисел); определить методы изменения полей и операцию сложения
пар (а, b) + (с, d) = (а + b, с + d). Определить класс-наследник Long с полями: старшая часть числа и
младшая часть числа. Переопределить операцию сложения и определить методы умножения и вычитания.

Не представляю даже с чего начать...
YRELIS вне форума Ответить с цитированием
Старый 12.01.2017, 03:32   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Начни с основ (в интернете поищи, что такое класс и все незнакомые слова, встречающиеся в задании)... Для начала тебе надо быстро набрать опыт работы с классами, а потом переходи к работе над своей задачей... Быстрей всего получится если смотреть видео на "ютубе" и повторять за лекторами. Ну вот например:
https://www.youtube.com/watch?v=EpjVri1AZZc

https://www.youtube.com/watch?v=rh9U1duQR8s

https://www.youtube.com/watch?v=l9FS5aWT_y4&t=1594s

https://www.youtube.com/watch?v=BMuiz7FWJBM
...................................
...................................
(поищи ещё - там много материала). Когда повторяешь код - думай как подстроить примеры под себя... Может быть с первого раза не получится - повтори код (пересмотри видеоролики) 2,3,4... раз. Это займёт какое-то время (день, два,... неделю) не обращай на это внимание. Не обижайся, но сейчас "помогите разобраться с задачей" - это значит сделать за тебя.

p.s.1: Немного непонятно в твоём задании словосочетание: "Абстрактный класс" - судя по видео этого молодого человека:
https://www.youtube.com/watch?v=jq-UlNmHYAQ
абстрактный класс содержит только декларацию функций, а сами их реализация должны уже присутствовать в дочерних классах... А у тебя в задании написано: (в родительском классе) "определить методы.... операцию сложения пар (а, b) + (с, d) = (а + b, с + d)..."... Это как бы противоречие: либо абстрактный класс без "методы... операции сложения", либо это не абстрактный класс (а обычный) с обычной декларацией и "расшифровкой" методов прям в нём.

p.s.2: Учти! Я поверхностно знаю классы, поэтому могу ошибаться.

p.s.3: не знаю понял ты или нет, но всё вышенаписаное относится только к первой части твоего задания, а именно:
1) Создать класс Pair (пара целых чисел);
2) определить методы изменения полей и операцию сложения пар (а, b) + (с, d) = (а + b, с + d);

Что касается второй части задания, где требуется создать дочерние классы, переопределить операцию сложения, добавить метод умножения и вычитания ( это нужно чтобы ты продемонстрировал свойства ООП - "наследование"), - то это уже другая история. Поищи видеоролики по теме "наследование классов в С++".

Последний раз редактировалось ura_111; 12.01.2017 в 04:06.
ura_111 вне форума Ответить с цитированием
Старый 12.01.2017, 04:25   #3
YRELIS
Пользователь
 
Регистрация: 10.07.2015
Сообщений: 14
По умолчанию

Цитата:
Сообщение от ura_111 Посмотреть сообщение
p.s.2: Учти! Я поверхностно знаю классы, поэтому могу ошибаться.

p.s.3: не знаю понял ты или нет, но всё вышенаписаное относится только к первой части твоего задания, а именно:
1) Создать класс Pair (пара целых чисел);
2) определить методы изменения полей и операцию сложения пар (а, b) + (с, d) = (а + b, с + d);

Что касается второй части задания, где требуется создать дочерние классы, переопределить операцию сложения, добавить метод умножения и вычитания ( это нужно чтобы ты продемонстрировал свойства ООП - "наследование"), - то это уже другая история. Поищи видеоролики по теме "наследование классов в С++".
Спасибо за ответ, но я понимаю принципы классов и общее ООП, просто задание не совсем понимаю, а именно что должно выводиться и тому подобное.
YRELIS вне форума Ответить с цитированием
Старый 12.01.2017, 04:39   #4
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Если надо с чего то начинать - начни с:

0.jpg

Не забудь вывести на экран элементы "rr", чтобы продемонстрировать, что суммирует правильно.

Это первая часть задания (работа с Pair). Во второй (там где наследование) - потом будешь разбираться.
ura_111 вне форума Ответить с цитированием
Старый 12.01.2017, 04:53   #5
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну ты понял, да? В месте:
Код:
Pair hh(6, 8);
Pair yy(3, -1);
ты демонстрируешь "методы изменения полей", а в месте:
Код:
rr = hh + yy;
ты демонстрируешь "операцию сложения пар (а, b) + (с, d) = (а + b, с + d)".

p.s.: по поводу "методы изменения полей" ещё не знаю - может быть (может быть) нужно будет ещё как-то "изменять поля", но это потом... А пока тебе надо какой-то базис накопить (хотя бы для того, чтобы потом вопросы умные задавать более опытным форумчанам или своему преподавателю)...
ura_111 вне форума Ответить с цитированием
Старый 12.01.2017, 05:27   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Может быть в дальнейшем выясниться, что нужно не только "первоначально инициализировать полей класса Pair", а и необходимо предусмотреть отдельный "метод изменения этих полей" ... или нужно определения классов в отдельные файлы "запихнуть"... - Это всё потом уточнишь, а пока сделай хоть что-нибудь по своей задаче.

Последний раз редактировалось ura_111; 12.01.2017 в 05:48.
ura_111 вне форума Ответить с цитированием
Старый 12.01.2017, 14:40   #7
YRELIS
Пользователь
 
Регистрация: 10.07.2015
Сообщений: 14
По умолчанию

хорошо) спасибо
YRELIS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Абстрактный класс Сырги C# (си шарп) 3 22.11.2012 01:13
абстрактный класс meta13 C# (си шарп) 2 22.03.2012 19:14
c# абстрактный класс tanek Помощь студентам 1 22.02.2012 11:23
абстрактный класс С++ zhenya.ya Помощь студентам 0 05.11.2010 20:23
Создать класс Pair izzie Общие вопросы Delphi 8 10.06.2010 15:27