682 Глава12

Операция	Определение	Описание
=	Set& fastcall operator =(const Set& rhs);	присваивание данному множеству содержимого множества rhs
--	boolfastcall operator ==(const Set& rhs) const;	эквивалентность двух множеств: данного и rhs (совпадение всех элементов)
!=	boolfastcall operator !=(const Set& rhs) const;	неэквивалентность двух множеств: данного и rhs

Все операции можно применять только к множествам одного типа, то есть
таким, при объявлении которых все аргументы объявления (type, minval и та:

val) совпадают. В операциях, создающих новое множество (операции +, — и *), п
ременная, в которую заносится результат, также должна быть того же типа, что
операнды. Операция эквивалентности возвращает true в случае, когда оба опера
да содержат только совпадающие элементы. Соответственно только в этом случ!
операция неэквивалентности возвращает false.

Для множеств Set определены также два метода:

Метод	Определение	Описание
Clear	Set&fastcall ClearQ;	очистка множества
Contains	boolfastcall Contains( const Т el) const;	проверка наличия в множестве элемента е1

Рассмотрим примеры работы с множествами. Пусть вы задаете пользователю
программе некоторый вопрос, подразумевающий ответ типа «Yes/No». Тогда во
можные символы, вводимые пользователем в качестве ответа, являются множес
вом, содержащим символы «у», «Y», «п» и «N». Сформировать такое множесп
можно операторами:

Set <char, 0, 255> TrueKey;

ТгиеКеу « 'у' « 'У « 'n' « 'N';

Тогда проверить, принадлежит ли введенный пользователем символ Key мн
жеству допустимых ответов, можно с помощью метода Contains:

if (!TrueKey.Contains(Key))

ShowMessge("Вы ввели ошибочный ответ");

else ...

Рассмотрим еще один пример. Пусть вы хотите, чтобы в окне редактирован!
Editi пользователь мог вводить только число, т.е. только цифры от 0 до 9. Э'
можно сделать, включив в обработчик события OnKeyPress этого окна операторы

Set <char, '0', '9'> Dig;                                           J
Dig « '0' « '1' « '2' « '3' « '4' « '5'                       1
« '6' « '7' « '8' « '9';

if (!Dig.Contains(Key))
{Key = 0; Веер();}

При попытке пользователя ввести символ, отличный от цифры, раздаст!
звук (его обеспечит функция Веер) и символ не появится в окне. Подробнее ЭР
пример рассмотрен в главе 4 в разделе 4.3.2.