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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2020, 18:24   #1
Falcome
Пользователь
 
Регистрация: 24.03.2020
Сообщений: 15
По умолчанию Помогите разобраться с кодом С++

Сет множество. надо разобраться где здесь деструктор, конструктор, конструктор копирования..нужно //прокомментировать
#include<iostream>
#include<cstdlib>
using namespace std;

template<typename T>
class Set
{
public:
Set();
Set(Set<T>& other);
Set& operator=(Set<T>& other);
bool operator==(Set<T>& other);
T& operator[](size_t index);
const T& operator[](size_t index) const;
void show() const;
size_t size() const;
~Set();
private:
size_t _size;
T* arr;
};

template<typename T>
Set<T>::Set()
{
this->_size = 0;
this->arr = new T[this->_size];
}

template<typename T>
Set<T>::Set(Set<T>& other)
{
this->_size = other._size;
this->arr = new T[this->_size];
for (size_t i = 0; i < this->_size; i++)
{
this->arr[i] = other.arr[i];
}
}

template<typename T>
void Set<T>::show() const
{
for (size_t i = 0; i < this->_size; i++)
{
cout << this->arr[i] << " ";
}
cout << endl;
}

template<typename T>
Set<T>& Set<T>:perator=(Set<T>& other)
{
if (this->arr != nullptr)
{
delete[] this->arr;
}
this->_size = other._size;
this->arr = new T[this->_size];
for (size_t i = 0; i < this->_size; i++)
{
this->arr[i] = other.arr[i];
}
return *this;
}

template<typename T>
T& Set<T>:perator[](size_t index)
{
return this->arr[index];
}

template<typename T>
const T& Set<T>:perator[](size_t index) const
{
return this->arr[index];
}

template<typename T>
size_t Set<T>::size() const
{
return this->_size;
}

template<typename T>
bool Set<T>:perator==(Set<T>& other)
{
if (this->_size != other._size)
{
return false;
}
for (size_t i = 0; i < this->_size; i++)
{
if (this->arr[i] != other.arr[i])
{
return false;
}
}
return true;
}

template<typename T>
Set<T>::~Set()
{
if (this->arr != nullptr)
{
delete[] this->arr;
this->arr = nullptr;
this->_size;
}
}

int main()
{
Set<int>a;

}
Falcome вне форума Ответить с цитированием
Старый 25.03.2020, 18:38   #2
Dezmond13_87
Новичок
Джуниор
 
Регистрация: 25.03.2020
Сообщений: 2
По умолчанию

~Set - деструктор
Set() - конструктор умолчательный
Set(Set<T>& other); - конструктор копирования
Set& operator=(Set<T>& other); - перегрузка оператора присваивания, обычно определяется вместе с копирующим конструктором
Dezmond13_87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с кодом sarsen PHP 2 11.11.2017 09:17
Помогите разобраться с кодом Lexa_alex Помощь студентам 3 05.10.2015 21:36
Помогите разобраться с кодом Лера.К БД в Delphi 6 21.05.2014 16:36
Помогите разобраться с кодом, win api sinj Помощь студентам 2 06.09.2009 11:24