|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
||||||||||||||||
Нужно описать класс «множество»15.05.2015, 10:49. Показов 4476. Ответов 10
Метки нет (Все метки)
Привет всем. Недавно начал изучать классы и решаю одну задачу. Нужно описать класс «множество», позволяющий выполнять основные операции — добавление и удаление элемента, пересечение, объединение и разность множеств.
Ну я в классе создал все методы, но пока написал только первые 2 функции и решил проверить. Вот код: Множества.h
Теперь мне выдает 5 ошибок ![]() Ошибка 1 error C2084: функция "void Mnozhestvo::add(int,int,std::vector<_Ty> ,std::vector<_Ty>)" уже имеет текст реализации Ошибка 2 error C2084: функция "void Mnozhestvo::del(int,int,std::vector<_Ty> ,std::vector<_Ty>)" уже имеет текст реализации Ошибка 3 error C2084: функция "void Menu(int,int,std::vector<_Ty>,std::vecto r<_Ty>)" уже имеет текст реализации Ошибка 4 error C2264: Mnozhestvo::add: ошибка в определении или объявлении функции; функция не вызвана Ошибка 5 error C2264: Mnozhestvo::del: ошибка в определении или объявлении функции; функция не вызвана Насчет первых трех ошибок я погуглил и вроде понял, что нужно переименовывать как-то функции, но ведь их названия больше нигде не встречаются у меня в программе. Насчет последних двух ошибок, то они появляются при попытке вызова функций add и del в функции Menu. А из-за чего они появляются, не могу понять. Скажите, где мои ошибки? Я подозреваю, что я что-то не то сделал с конструктором, так как пока не очень понимаю, как работать с конструкторами и деструкторами. Либо не дописал чего-то, либо переписал ![]() Принимаю любую критику, любые злые и добрые комментарии ![]() Заранее спасибо.
0
|
||||||||||||||||
| 15.05.2015, 10:49 | |
|
Ответы с готовыми решениями:
10
Описать класс «множество», позволяющий добавлять и удалять элементы |
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|||||||||||
| 15.05.2015, 11:46 | |||||||||||
А теперь структурные ошибки Добавлено через 15 минут
Добавлено через 1 минуту void Menu методом класс
0
|
|||||||||||
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
|||||||||||||||||||||
| 15.05.2015, 13:38 [ТС] | |||||||||||||||||||||
|
Черный мечник, Блин, запутался. Первое убрал. Ошибки пропали. Функцию Menu сделал методом класса.
Но так и не понял насчет конструктора. Насколько я вас понял...вот код: Множества.h
0
|
|||||||||||||||||||||
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
||||||
| 15.05.2015, 17:28 | ||||||
Убери параметры у нее везте Добавлено через 1 минуту И о чудо ![]() Добавлено через 7 минут что делает конструкор в моем грубом представлении....у тебя есть в программе:две переменные и грубо два крутых масива...и в конструкторе переменнывм можно присвоить 1 а масивы заполнить 0 и vector<int> a={0,} vector<int> b={0,} int n=1 int m=1 и когда создаете Mnozhestvo mn; у вашей программы есть эти начальные данные...и вы с ними можете работать или изменить с помошью других методов
0
|
||||||
|
|
||||||
| 15.05.2015, 17:28 | ||||||
|
Черный мечник, давайте не будем учить новичков бреду! Никакой конструктор не должен заниматься вводом данных!
Sh@dow777, давайте вы тоже для начала не будете бредить и осознаете, что вообще такое классы и зачем они нужны. Вот это вот
Что такое класс ты знаешь? А что такое структура, для начала? А что такое вообще пользовательские типы данных и как ими пользуются ты слышал?
0
|
||||||
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
| 15.05.2015, 17:37 | |
|
Kuzia domovenok
Тема с утра висит, и как в книжке я научился ,такой бред расказываю=))Вы б поживее просвешали нас недалеких=)может я и неписал=) Добавлено через 1 минуту Я самоучка и тут просто задачки решаю=)на те которые не обрашают внимание=)
0
|
|
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
|||||||||||
| 15.05.2015, 20:28 [ТС] | |||||||||||
|
Kuzia domovenok, Да ладно вам. Вы думаете, что я с бухты-барахты без материала, без минимальных знаний стал бы писать эту программу? Я читал в Дейтеле про классы. До наследования, шаблонов(векторов в Дейтеле не нашел) еще не дошел, но основы классов знаю. Я думаю, что кроме векторов, всю программу я написал верно. Даже подозреваю, что конструктор изначально я тоже написал правильно, просто нужно было функцию Menu сделать методом класса.
А насчет векторов - основы, основные их функции тоже знаю. Вот как в классе их создать правильно, как элементы, не знаю - признаюсь. Поэтому и написал на форуме. Вы либо покажите на примере, что нужно сделать с векторами в
Добавлено через 4 минуты Черный мечник, А насчет
0
|
|||||||||||
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
||||||||||||||||
| 15.05.2015, 20:41 | ||||||||||||||||
убрал параметры ,и фвйлы переименовал работает нормально
0
|
||||||||||||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||
| 15.05.2015, 20:47 | ||||||
1
|
||||||
|
|
||||||||||||
| 15.05.2015, 20:59 | ||||||||||||
|
во-первых, судя по построению класса вида
Во-вторых, Renji, сказал уже, а я замечу, что судя по
добавить в класс просто метод void Mnozhestvo::add(), т.е. без параметров и он уже получит доступ к полям класса m, n, a, b. - это основы инкапсуляции. Ты не мог, как утверждаешь, читать про то, что такое классы и инкапсуляция и после этого писать "такое" - это противоречит всякому смыслу!
0
|
||||||||||||
|
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
|
||||||||||||||||||||||||||
| 19.05.2015, 21:28 [ТС] | ||||||||||||||||||||||||||
|
Kuzia domovenok, Спасибо за все ваши замечания. У меня только 2 вопроса. Я погуглил, что для множеств лучше использовать set и multiset. Переделал код, дописал все функции. Вот код:
Множества.h
И второй вопрос. Все функции работают нормально, кроме удаления. Вроде указал, что нужно удалять последний элемент множества. Но при удалении выводит ошибку Debug Assertion Failed. Я так понял, что типа выходит за границы множества. Что я не так делаю? Вот отдельно функция удаления:
0
|
||||||||||||||||||||||||||
| 19.05.2015, 21:28 | |
|
Помогаю со студенческими работами здесь
11
Описать класс множество с полями элементы множества и количество элементов Описать класс "множество", позваляющий выполнять основные операции Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) Описать класс "множество" вещественных чисел, позволяющий выполнять основные операции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|