.


:




:

































 

 

 

 


.




, , - . , - , .

, , , - . - ..

, - . , ( ) , virtual .

, , . .

, , , . ( virtual ).

()

virtual, . , .

, , . , . , , .

, .

:

  • , , .
  • , .

:

class A // { public: virtual void VirtMetod1(); // void Metod2(); // };void A::VirtMetod() { cout << " A::VirtMetod1\n";} void A::Metod2() { cout << " A::Metod2\n"; } class B: public A // {public: void VirtMetod1(); // void Metod2(); // };void B::VirtMetod1() { cout << "B::VirtMetod1\n";}void B::Metod2() { cout << "B::Metod2\n"; }void main() { B aB; // B B *pB = &aB; // B A *pA = &aB; // A pA->VirtMetod1(); // VirtMetod B pB->VirtMetod1(); // VirtMetod B pA->Metod2(); // Metod2 A pB->Metod2(); // Metod2 B}

:

B::VirtMetod1 B::VirtMetod1 A::Metod2 B::Metod2

,

=0.

:

virtual void F1(int) =0;

, . ++ . , , , .

:

class A{public: A(); A (const A&); virtual A* virt_object1 () { return new A(); } virtual A* virt_object2 () { return new A(*this); }}

. .

virtual void f()=0; //


. ,





:


: 2016-07-29; !; : 868 |


:

:

- , .
==> ...

1741 - | 1555 -


© 2015-2024 lektsii.org - -

: 0.008 .