:
1) .
2) , - , , .
3) .
, :
1) .
2) , .
3) .
22.6
, . :
virtual _ _()=0
(inline-), =0 ( ). . , , , , . , - . :
1 .
2 .
3 (/ ).
4 .
5 , , , .
. : (perimetr) (plo). : (rectangle) (crug). - - ( ) . , / , , . class fiqure . , , . : class crug class rectangle. .
#include<stdio.h>
#include<math.h>
class fiqure
{
protectrd:
float perimeter, plo;
public:
virtual void input()=0;//
virtual void output()=0;//
virtual void l()=0;//
virtual void s()=0;//
}
class crug: public fiqure
{
float R; //
public:
void input()//virtual
|
|
{
puts( )
scanf(%f, &R);
}
void output()
printf( (perimetr)=%f, =%f\n, perimetr, plo);
}
void l()
{
perimeter=2*M_PI*R;
}
void s()
{
plo =M_PI*R*R
}
};
class reet: public fiqure
{
float a,b;//
public:
void input()
{
puts( );
scanf(%f%f, &a, &b);
}
void output()
{
printf( =%f =%f \nperimetr, plo);
}
void l()
{
perimetr =2*(a+b);
}
void s()
{
plo =a*b;
}
};
void main()
{
fiqure*p=new crug;/* , crug*/
p→input();
p→l();
p→s();
p→output();/* crug*/
p=new rectangle;
p→input();
p→l();
p→s();
p→output();
}
rectangle rectangle.
23
23. 1 ++
++ ( iostream) /. / (i/o):
. printf scanf . . ++ (), .
. ( , ). . ++, , . , , /, . , ++ .
. /. .
++, iostream.h. / fstream.h iomanip.h ().