148                             5.    - 

for (int i = 0; i < s; ++i) {
base[i] = new double[r];

if (base[i] == 0)         //   
return false;

}                                                          '
row_size =r;

column_size = s;

return true;

}

void twod::deallocate()
{

for (int i = 0; i < column_size; ++i)
delete [] base[i];

delete [] base;

row_size = 0;

column_size = 0;

}

 ,     twod   .
-,    ,    
,        .
,    ,     
this. - allocate ()      twod.
       ,  
     -,  -
 (constructors^).     (.  6,
   ).

     -  element_lval () 
element_rval ().        lvalue
(    )  rvalue ( -
).     .   doubles -
,     . , element_lval ()  lvalue
    . 
double element_rval () ,    rvalue -
 .    :

twod m;

.allocate(5, 10);

.element_lval(1, 1) = 5;        // 5  m.base[1][1]
m.element_rval(2, 2) = 6.5;      // 

//rvalue
cout  (m.element_rval(1, 1) ==

m.element_lval(1, 1)); //, 5 == 5

    find_max (),    
  :