. .
:
E , ( daemon).
, ( ).
, , . , , , .
.
:
E , ;
, ( );
, ( , - , ).
, .
- - .
. ( ).
2.13
. , :
monstr *; //
= new daemon; //
, , . ,
p->draw(l, 1, 1, 1);
monstr, daemon.
, . , .
, :
(daemon * p)->draw(l, 1, 1, 1);
, .. , . , . . - , .
|
|
, , . .
virtual:
virtual void draw(int , int , int scale, int position);
:
, , , , .
, . .
, .
static, .
, .
= 0 , :
virtual void f(int) = 0;
(, ).
draw monstr , , , , :
monstr * r, *;
r = new monstr; // monstr
= new daemon; // daemon
r->draw(l, 1, 1, 1); // monstr::draw
p->draw(l, 1, 1, 1); // daemon::draw
-> monstr::draw (1, 1, 1, 1); //
daemon draw , (.. , monstr), draw daemon.
, .