// ННГУ, ВМК, Курс "Методы программирования-2", С++, ООП // // set.h - Copyright (c) Гергель В.П. 07.05.2001 // // Множества #ifndef __SET_H #define __SET_H #include "bitfield.h" class TSet { private: int MaxPower; // максимальная мощность множества TBitField BitField; public: TSet(int mp); TSet(const TSet &s); // конструктор копирования TSet(const TBitField &bf); // конструктор преобразования типа operator TBitField(); // доступ к битам int GetMaxPower ( void ) const; // максимальная мощность множества void InsElem ( const int n ) ; // включить элемент в множество void DelElem ( const int n ); // удалить элемент из множества int IsMember ( const int n ) const; // проверить наличие элемента в мн-е // теоретико-множественные операции int operator==(const TSet &s); // сравнение TSet & operator=(const TSet &s); // присваивание TSet operator+ (const int n); // включение элемента в множество TSet operator- (const int n); // удаление элемента из множества TSet operator+ (const TSet &s); // объединение TSet operator* (const TSet &s); // пересечение TSet operator~ ( void ); // дополнение friend istream &operator>>(istream &istr, TSet &bf); friend ostream &operator<<(ostream &ostr, const TSet &bf); }; #endif