Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
4 / 4 / 0
Регистрация: 21.12.2015
Сообщений: 195

Арифметика класса

06.12.2016, 23:02. Показов 4079. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вот такое задание:
Разработать и реализовать в виде методов операции над объектами класса: сложение, вычитание, умножение, сравнение, изменение отдельных частей и получение /изменение параметров объектов (арифметику класса). Результат выполнения – в текущем объекте.
Собственно сделал все, кроме "получения/изменения параметра объекта" - просто понять этого не могу, чего от меня хотят...
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2016, 23:02
Ответы с готовыми решениями:

Арифметика Класса Двусвязного списка
Всем привет. тут такая проблема есть у меня программа создание двусвязного циклического списка и действия над ним. и надо создать...

Арифметика длинных чисел с использованием класса
Может есть у кого код с арифметиков длинных чисел на с++ с использованием класса?

Инициализация шаблонного класса(В конструкторе класса после двоеточия вновь имя класса)
Всем доброго времени суток! Пытаюсь разобраться как работает приведенный мной код. Конкретно, пытаюсь разобраться что происходит в...

3
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
06.12.2016, 23:35
Цитата Сообщение от Blekzet Посмотреть сообщение
и получение /изменение параметров объектов (арифметику класса).
Цитата Сообщение от Blekzet Посмотреть сообщение
просто понять этого не могу, чего от меня хотят...
У Вас абсолютно естественная реакция. Я тоже мало что понял. Если воспринять как "поток", то возможно это попытка описать операторы +=. -=, /= , *=,
а также операторы пре- и пост- инк/дек/ рементов. Не ручаюсь, но больше ассоциаций пока нет.
а тут возможно
Цитата Сообщение от Blekzet Посмотреть сообщение
, изменение отдельных частей
имеется в виду вариант создания составных объектов вроде комплексного числа, вектора или матрицы.
0
4 / 4 / 0
Регистрация: 21.12.2015
Сообщений: 195
06.12.2016, 23:56  [ТС]
IGPIGP, Да просто задания описаны слишком странно, очень много смыслов... А где изменение отдельных частей, это просто получить доступ и изменить, допустим, числитель дроби.

Добавлено через 2 минуты
IGPIGP, я вот вам напишу, совокупность заданий... Думаю не я один плохо все это воспринимаю...
Лабораторная 1:
Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей). Разработать:

· конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив), конструктор копирования (объект из объекта) и деструктор;

· методы вывода и ввода содержимого объекта в поток (на экран), в текстовую строку (из строки);

· получения ссылки на внутренние данные объекта (например, на коэффициент матрицы), либо чтение/запись отдельных компонент объекта.

В конструкторе и деструкторе предусмотреть трассировку - вывод адреса текущего объекта и его содержимого. Проследить последовательность вызова конструкторов и деструкторов при определении глобальных, локальных и динамических объектов, а также их массивов, при передаче объекта в виде формального параметра по значению и возврате его по значению в качестве результата.

Правильная дробь, представленная целой частью, числителем и знаменателем.

Лабораторная работа 2. Разработка арифметики класса

Разработать и реализовать в виде методов операции над объектами класса: сложение, вычитание, умножение, сравнение, изменение отдельных частей и получение /изменение параметров объектов (арифметику класса). Результат выполнения – в текущем объекте.

Лабораторная работа 3. Переопределение операций

Арифметику класса реализовать в виде стандартного набора переопределенных операций с “арифметической” интерпретацией – результат операции – новый объект. Разработать конструктор копирования, переопределить арифметические операции, присваивание, сравнение, ввод/вывод в стандартные потоки.

Лабораторная работа 4. Шаблон структуры данных

Разработать шаблоны структуры данных в памяти. Тип хранимого элемента – параметр шаблона. Шаблон может содержать указатель на объект, либо сам объект (в зависимости от варианта). Реализовать операции включения/удаления по заданному логическому номеру, поиск минимального/максимального, включение с сохранением порядка, сортировки выбором или вставками, загрузки хранимых элементов в структуру данных из последовательного потока. Проверить работу шаблона на разработанном классе, используя его как параметр шаблона. Структуры данных:

Динамический массив указателей на объекты;

Вот кто может спокойно такое прочитать (я на 1 задание, потратил 5 дней, тупо что бы понять, что от меня хотят)
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
07.12.2016, 00:45
Лучший ответ Сообщение было отмечено Blekzet как решение

Решение

Цитата Сообщение от Blekzet Посмотреть сообщение
Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей).
Тут имеется ввиду динамический массив, связный список или расширяющийся (разреженный) массив на массиве указателей. Расположено по сложности и выбор тут есть.
Цитата Сообщение от Blekzet Посмотреть сообщение
конструкторы для различных типов входных данных
Это действительно непонятно. То есть, понятно если это шаблонный класс будет. Тогда для типов std::string и char*, могут быть различные конструкторы. Хотя бы потому, что строку имеет смысл передавать как константную ссылку, а указатель как указатель на константу. Кроме того, определение длины для char* делается иначе и это должно быть отражено в разных конструкторах конкретизацией шаблона для соответствующих типов.
Иначе со строкой и мне не понятно. Можно конечно любому конструктору передать строку. Тогда предполагаемый объект будет её хранить. В ней можно отразить всё что угодно, но этот вариант мне не нравится (мягко говоря).
Цитата Сообщение от Blekzet Посмотреть сообщение
конструктор копирования (объект из объекта) и деструктор;
· методы вывода и ввода содержимого объекта в поток (на экран), в текстовую строку (из строки);
· получения ссылки на внутренние данные объекта (например, на коэффициент матрицы), либо чтение/запись отдельных компонент объекта.
тут не вижу проблем.
Цитата Сообщение от Blekzet Посмотреть сообщение
В конструкторе и деструкторе предусмотреть трассировку - вывод адреса текущего объекта и его содержимого. Проследить последовательность вызова конструкторов и деструкторов при определении глобальных, локальных и динамических объектов, а также их массивов, при передаче объекта в виде формального параметра по значению и возврате его по значению в качестве результата.
Тут лучше бы посмотреть Ваши конспекты, чтобы понять что имели ввиду. Но можно предположить, что определяя константу вроде DEBUG_, можно компилировать варианты с отладочной информацией и без. Отразить это в коде перечисленных программных элементов не сложно.
Цитата Сообщение от Blekzet Посмотреть сообщение
Лабораторная работа 2. Разработка арифметики класса
Разработать и реализовать в виде методов операции над объектами класса: сложение, вычитание, умножение, сравнение, изменение отдельных частей и получение /изменение параметров объектов (арифметику класса). Результат выполнения – в текущем объекте.
Это таки работа операторов вроде Obj += somthing_else;
Цитата Сообщение от Blekzet Посмотреть сообщение
Лабораторная работа 3. Переопределение операций
Арифметику класса реализовать в виде стандартного набора переопределенных операций с “арифметической” интерпретацией – результат операции – новый объект.
А тут такие бинарные операции: Res_obj=obj1+obj2
Цитата Сообщение от Blekzet Посмотреть сообщение
Разработать конструктор копирования, переопределить арифметические операции, присваивание, сравнение, ввод/вывод в стандартные потоки.
Тут нет вопросов, кроме переопределения арифм. операций. Коль скоро мы их будем определять, то что и как переопределять?? Когда люди такое пишут, им нужно заняться пищеварением. Что-то работает неправильно. Или по крайней мере слишком быстро.
Цитата Сообщение от Blekzet Посмотреть сообщение
Разработать шаблоны структуры данных в памяти. Тип хранимого элемента – параметр шаблона. Шаблон может содержать указатель на объект, либо сам объект (в зависимости от варианта). Реализовать операции включения/удаления по заданному логическому номеру, поиск минимального/максимального, включение с сохранением порядка, сортировки выбором или вставками, загрузки хранимых элементов в структуру данных из последовательного потока. Проверить работу шаблона на разработанном классе, используя его как параметр шаблона. Структуры данных:
Динамический массив указателей на объекты;
Это обобщает первую лабу путём создания шаблона. Тогда там, в первой, - точно не шаблоны. Зачем там строка в конструкторе тогда? Пусть это будет комментарий вроде: "объект создан в "+str str передаст функция в которой он создаётся. Бред крутой, но больше не вижу ничего. Может кто-то расскажет.
Спросите у тех кто это Вам дал. Так будет лучше всего.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2016, 00:45
Помогаю со студенческими работами здесь

Арифметика!
Дано натуральное число n. Вычислить: (1+1/1*1)+(1+1/2*2)+(1+1/3*3)+...+(1+1/n*n) Скажу всем спасибо!

Арифметика в C
Дано натуральное число n. Проверить содержит ли оно три одинаковые цифры. Например 12322. Содержит. Помогите плиз...:(

Арифметика
Даны x,y,z. Вычислить a,b если <a target="_blank"...

длнная арифметика
привет ,помогите создать класс длинная арифметика чез строки на си ,плиз...

Арифметика указателей
Эквивалентны ли эти две записи? int *p1=new int; int *p2=p1; или int *p1=new int;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru