во время компиляции возникла ошибка, буду рад ответу.
Файл Header.h
#pragma once
template <class T>
class set
{
private:
T* a;
int max_size;
int size;
public:
//Конструкторы:
set(int maxim);
set(set <T>& x);
//Деструктор:
~set();
void add(T x);//добавление эл-та в мнохество
void del(T x);//удаление эл-та из множества
bool check_in(T x);//проверка вхождения эл-та в множество
};
Файл Source
#include "Header.h"
#include <iostream>
#include <conio.h>
#include <string>
#include <stdio.h>
using namespace std;
void menu();
int main()
{
setlocale(LC_ALL, "Russian");
cout << ("Добро пожаловать в программу!") << endl;
menu();
}
void menu()
{
int n;
int choose;
int max;
cout << ("Введите максимальный размер множества-");
cin >> max;
set <int> set1(max);
set <int> set2(max);
int x;
do {
cout << '\n'
<< " ------------Menu------------ "
<< '\n' << ("1. Добавление эл-та в множество")
<< '\n' << ("2. Удаление эл-та из множества")
<< '\n' << ("3. Проверка вхождения эл-та в множество")
<< '\n' << ("0. Выход")
<< '\n' << "<";
cin >> n;
system("cls");
switch (n)
{
case '1':cout << ("Выберете множество для добавления(1/2)");
cin >> choose;
cout << ("Введите э-т");
cin >> x;
if (choose == '1')
set1.add(x);
if (choose == '2')
set2.add(x);
break;
case '2':cout << ("Выберете множество для удаления(1/2)");
cin >> choose;
cout << ("Введите величину эл-та");
cin >> x;
if (choose == '1')
set1.del(x);
if (choose == '2')
set2.del(x);
break;
case '3':cout << ("Выберете множество для проверки(1/2)");
cin >> choose;
cout << ("Введите величину эл-та");
cin >> x;
if (choose == '1')
{
if (set1.check_in(x))
cout << ("Элемент содержится в данном множестве");
else
cout << ("Элемент не содержится в данном множестве");
}
if (choose == '2')
{
if (set2.check_in(x))
cout << ("Элемент содержится в данном множестве");
else
cout << ("Элемент не содержится в данном множестве");
}
break;
case '0':return;
default:cout << ("Действие не выбрано");
}
} while (true);
}
template <class T>
void set<T> ::add(T x)
{
if (size < max_size)
{
if (!check_in(x))
{
a[size] = x;
size += 1;
cout << ("Добавление прошло успешно");
}
else
cout << ("Добавление невозможно");
}
else
cout << ("Добавление невозможно");
}
template <class T>
void set <T>::del(T x)
{
bool ok;
ok = false;
if (size != 0)
{
for (int i = 0;i < size;i++)
{
if (a[i] == x)
{
for (int j = i;j < size;j++)
{
a[j] = a[j + 1];
}
size -= 1;
ok = true;;
}
}
if (ok)
cout << ("Удаление прошло успешно");
}
else
cout << ("Удаление невозможно");
template <class T>
bool set <T>::check_in(T x)
{
for (int i = 0;i < size;i++)
if (a[i] == x)
return true;
return false;
}
