                                       _______________189

080000000, 040000000, 020000000, 010000000,

08000000, 04000000, 02000000, 01000000,

0800000, 0400000, 0200000, 0100000,

080000, 040000, 020000, 010000,

08000, 04000, 02000, 01000,

0800, 0400, 0200, 0100,

080, 040, 020, 010, 08, 04, 02, 01};

class set {
public:

set(unsigned long int i) { t = i; }

sefcO { t = 00; }

void u_add(int i) { t 1= masks[i]; }

void u_sub(int i) { t &= -masks[i]; }

bool in(int i) const

{ return bool( (fc & masks[i]) != 0); }

void pr_mems() const;

set set_union(const set& v) const

{ return (set(t I v.t)); }
private:

unsigned long int t;

};

  pr_mems     .  
 - intersection,   .

21.    ,    
void polynomial::release()  void polynomial::print(), 
   (.  6.9,    ,  . 174).

22.                     

void polynomial::plus().

23.  void polynomial: :plus () ,   .plus ( , ) 
 (.  6.9,    ,  . 178).

24.    polynomial  . , 
 -   . ,
        (.  6.9,
   , . 176).

25.    my_string   ,   -
 -  ,  ref_cnt -
.     (.  6.10, , 
 ,  . 179)?

26.   matrix,   ,  -
 (.  6.8,  ,  . 173).   -
      ,  , -
     .