5.9.                               __   147

public:

person(const char*, int, unsigned long);

void bday() { ++age; }      //  

// 

private:

const char* name;

mutable int age;            //  

unsigned long soc_sec;

};

/

const person ira("ira pohl", 38, 1110111);

ira.bday();                 //, ira.age  mutable

}

5.9.      

 ,       , 
  .  twod   4.8, :  -
 ,  . 121      .    -
         .

  twod.cpp

//  

class twod {
public:

bool allocate(int r, int s);   //

void deallocate();             //

double& element_lval(int i, infc j) const
{ return base[i][j]; }

double elemenfc_rval(int i, int j) const
{ return base[i][j]; }

int r_size() const { return row_size; }

int c_size() const { return column_size; }
private:

double** base;

int       row_size, column_size;

};

bool twod: .-allocate (int r, int s)

;'

base = new double*[s];

if (base == 0)//   
return false;