Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 6
1

Создать конструктор

07.10.2016, 20:36. Показов 605. Ответов 3
Метки нет (Все метки)

Имеется клас IntegerSet реализованный на бинарных деревьях
Подскажите, как создать вот такой конструктор
Конструктор, принимающий количество элементов + адрес начала массива (игнорирование повторяющихся значений). Если количество элементов не является положительным числом либо переданный адрес является нулевым, генерируется исключение std::logic_error с текстом “Invalid parameters”.
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
class IntegerSet{
 
public:
    class Node{
        int m_key;
 
        Node * m_pParent;
        Node * m_pLeft;
        Node * m_pRight;
    };
 
    IntegerSet();
 
 
private: 
    
    Node * m_pRoot;
 
 
};
 
IntegerSet::IntegerSet() // конструктор по умолчанию, создает пустое множество
{
    m_pRoot = NULL;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2016, 20:36
Ответы с готовыми решениями:

Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно»
Помогите пожалуйста, хоть с одним из заданий. 1. Создать класс. Написать конструктор по...

Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор
Всем доброго времени суток! нужна ваша помощь! нужно создать класс вектор и реализовать...

Создать конструктор
Помогите, нужно создать структуру my_time, а потом конструктор, который создает структуру по...

Создать конструктор
Используя следующий фрагмент, создайте е конструктор саг(). Он должeн передавать необходимые...

3
59 / 59 / 53
Регистрация: 05.05.2013
Сообщений: 150
07.10.2016, 21:21 2
что означает
Цитата Сообщение от lalka123 Посмотреть сообщение
адрес начала массива (игнорирование повторяющихся значений)
каких значений?
а конструктор вот:
C++
1
#include <stdexcept>
C++
1
2
3
4
IntegerSet::IntegerSet(int n, int* array) 
{
   if (n < 0 && array == nullptr) throw std::logic_error("Invalid parameters");
}
а ловить это все в программе так:
C++
1
2
3
4
5
6
7
8
try {
int n =-3;
int* array = nullptr;
IntegerSet Obj(n,array );
} catch (std::logic_error& err)
{
std::cout << err.what();
}
0
Эксперт С++
8297 / 6128 / 613
Регистрация: 10.12.2010
Сообщений: 28,659
Записей в блоге: 30
08.10.2016, 12:15 3
Почему сразу не генерить std::invalid_argument

А вообще подобная проверка- глупость.
Если другой программист использующий ваш класс настолько туп что пихает -1 и/или nullptr в конструктор, то ему уже никак не помочь, зато лишние затраты на проверки в коде. Лучше использовать для таких целей проверку через assert.
C++
1
2
3
4
5
6
7
8
9
#include <cassert>
 
// Для размера лучше использовать без знаковый тип сразу давая 
// знать что отр.знач не канают.
 
IntegerSet::IntegerSet(int* array,std::size_t size) 
{
   assert(array) // "Invalid parameters"
}
Так что если это задание от препода, преподу за постановку задачи- 2
0
0 / 0 / 0
Регистрация: 08.06.2016
Сообщений: 6
08.10.2016, 12:19  [ТС] 4
с проверкой у меня не возникло проблем
У меня конструктор должен брать значения из массива, и записывать их в множество
А если значение будет повторятся,то в множество его записать только один раз
Вот с чем проблемы
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2016, 12:19

Конструктор. Как создать
У меня есть класс Point #include &quot;StdAfx.h&quot; #include &quot;Tochka.h&quot; # include &lt;iostream&gt; # include...

Создать конструктор в классе
Есть вот класс class lengthunit { bool IsCorrect() const; long double Metres; long...

Создать конструктор копирования класса
Помогите создать конструктор копирования класса. Мне надо чтоб я в основной программе нажимал...

Как создать конструктор класса?
Надо создать класс с конструктором сеттером и геттером. Я решил что конструктор будет делать пустые...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru