3.6.                                                      75

if (k == 2)

return (n * n) ;

else

return (sqr_or_power(n, k - 1) * n) ;

}

 ,         -
 n  .

sqr_or_power(i + 5)  // (i + 5) * (i + 5)
sqr_or_power (i +5, 3) // (i + 5)  

         :

void foo(int i, int j = 7);                  //
void foo(int i = 3, int j);                  //
void foo(int i, int j = 3, int k = 7) ;       //
void foo(infc i = 1, int j = 2, int k = 3);   //
void foo(int i, int j = 2, int k) ;           //

3.6.  

           
.  ,  ,    -
  .     
    . , , ,    -
         ,   -
  .  ,     avg_arr,    .

 (overloading)         
  .       ,
  ().     -
 .       ,
         (.  7, Ad hoc -
).      avg_arr ().

  avg_arr.cpp

//    

double avg_arr(const int a[], int size)
{

int sum = 0 ;

for (int i = 0; i < size; ++i)

sum += a[i]; //   int
return (static_cast<double>(sum) / size);

}

double avg_arr(const double a[], int size)
{

double sum = 0.0;