Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.86
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
#1

Класс множество - C++

09.01.2009, 11:21. Просмотров 3592. Ответов 1
Метки нет (Все метки)

Нужно написать класс множество с конструкторами, деструкторами, операторами.

Так вот возник вопрос...как понимать тип данных множество??
Это обычный массив в котором даннеы не могут повторяться, распологаются упорядоченно (обязательно или нет?),.....??

Добавлено через 5 часов 10 минут 26 секунд
template <class T>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class set {
    public:
//-------------------
friend inline set operator + (  const set<T> &x, const set<T> &y); // оператор объединения
inline set& operator = (const set<T>& x) ; // оператор присваивания
private:
//---------
};
 
  template <class T>
set<T>&   set<T> :: operator = (const set& x)
{
   if (this!=&x) // если не сам себе присваивается
    {  delete []pset;
       create(x);
     }
 return *this; /* возвращаем ссылку на текущий объект для дальнейший присваиваний */
}
 
 
    template <class T>
 inline set<T> operator + ( const set<T>& x, const set<T>& y) // оператор объединения
{   
//-------------
}
 
int main(int argc, char* argv[])
{  set<int> a(10, 3);
   set<int> b(7, 0);
   set<int> d(a);
   set <int> c;
   b.insert(0);
   b.insert(7);
   b.insert(6);
   c=a+b;
   printf("%d\n",b[0]);
   printf("%d\n",b[1]);
   printf("%d\n",b[2]);
   printf("%d\n",b[3]);
   printf("%d\n",b[4]);
  
 
    getch();
    return 0;
}
Не компилируется..в cpp пишет:
"Undefined symbol 'operator+ (const set<int> &, const set<int> &)' " Подскажите плизз..где у меня ошибка при объявлении оператора.

Добавлено через 4 минуты 0 секунд
извиняюсь

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
template <class T>
class set {
    public:
inline set& operator = (const set<T>& x) ; // оператор присваивания
    friend inline set operator + (  const set<T> &x, const set<T> &y); // оператор объединения
};
 
    template <class T>
 inline set<T> operator + ( const set<T>& x, const set<T>& y) // оператор объединения
{
//----
}
В cpp пишет "Undefined operator + 'const set<int> &, const set<int> &"
Где я ошибся при объявлении подскажите плизз!!

Добавлено через 40 минут 14 секунд
разобрался спасибо...

Добавлено через 12 часов 56 минут 15 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
template <class T>
class set {
public:
template <class T> friend
    inline set<T> operator + ( const set<T> x , const set<T> y); 
 
    template <class T> friend
    inline ostream& operator << ( ostream& os , const set<T> x); 
 
 
};
 
 template <class T1>
inline ostream& operator << ( ostream& os , const set<T1> x)
{  for (int i = 0; i < x.curr_size; i++)
     os<<x.pset[0]<<"\t";
   return os;
}
 
template <class T1>
  set<T> operator + ( const set<T1> x, const set<T1> y) // оператор объединения
{   
 
//----------------  
      
}
В студии говорят компилится
а в борланде ругается постоянно
[BCC32 Error] File13.cpp(13): E2335 Overloaded 'operator set<int> + <int>(const set<int>,const set<int>)' ambiguous in this context
[BCC32 Error] File13.cpp(14): E2335 Overloaded 'operator ostream & << <int>(ostream &,const set<int>)' ambiguous in this context

подскажите плизз..многие варианты перепробывал..не входит..вопрос весьма тонкий
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2009, 11:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Класс множество (C++):

Класс «Множество» - C++
Всем привет) Сижу над этой задачей 2 день - это объектно-ориентированное программирование. Помогите пожалуйста с решением :wall: ...

Класс – множество - C++
Требуется написать программу , но при запуске очень много ошибок помогите!!! Задача 3 Задачи для самостоятельного решения Общее ...

Класс Множество - C++
Описать класс множество, позволяющий выполнять основные операции, добавление и удаление элемента, пересечение, объединение и разность.

Класс множество строк - C++
Здравствуйте, мне нужно написать класс множество строк. Как будет выглядеть класс? class SetString{ char *str; int...

Реализовать класс множество - C++
Извините, искал везде, но находил только разобщенные куски кода, если вас не затруднит, то скиньте код где это реализовано. Множество: ...

Описать класс множество - C++
Описать класс множество с полями элементы множества и количество элементов, позволяющий добавлять и удалять элементы из множества, вывод...

1
igor_nf
118 / 12 / 1
Регистрация: 21.08.2007
Сообщений: 222
10.01.2009, 11:43 #2
Цитата Сообщение от Фенрир Посмотреть сообщение
Нужно написать класс множество с конструкторами, деструкторами, операторами.

Так вот возник вопрос...как понимать тип данных множество??
Это обычный массив в котором даннеы не могут повторяться, распологаются упорядоченно (обязательно или нет?),.....??
С математической точки зрения множество - это совокупность элементов, никак не упорядоченная и количество вхождений одного и того же элемента не учитывается. Вам же никто не мешает создать множество, которое будет упорядочено и учитывать количество элементов - короче, как говорится, как фантазия пожелает.. Реализация же будет зависить от выбранного вами варианта.

По поводу кода:
1. Данные класса где ? Что у вас в private ?
2. Если уж вы пишете на С++, то почему бы вам для вывода не использовать потоки вместо c-style printf ? А то как-то уродски выглядит.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2009, 11:43
Привет! Вот еще темы с ответами:

Описать класс “множество” - C++
Описать класс “множество”, позволяющий выполнять основные операции — добавление и удаление элемента, пересечение, объединение и разность...

Класс, реализующий множество - C++
Создать класс реализующий множество целых чисел. Доп. условия: Элементы множества хранить в числовом массиве, операции объединения и...

Класс «множество целых чисел» - C++
Всем привет) срочно нужна помощь!!! пожалуйста, напишите следующую программу:) Создать класс «множество целых чисел». Элементы...

Нужно описать класс «множество» - C++
Привет всем. Недавно начал изучать классы и решаю одну задачу. Нужно описать класс «множество», позволяющий выполнять основные операции —...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru