.


:




:

































 

 

 

 





() ( ), . , , . A B B C, B C, A - C (. 8.2). , A B C, ::, ::. A.

. 8.2.

 

(), " ". . . , .. , ,

class X1 {};

class X2 {};

class X3 {};

class Y1: public X1, public X2, public X3 {};

 

. . :

class X{ public: int a; int f();};

class Y: public X{};

class Z: public X{};

class D: public Y, public Z{};

D. ():

. , D , : D::Y::X::f() D::Z::X::f(). d : ::::f() Z::X::f(), .

Heir . Square ClsEllipse. Square ClsEllipse Figura. Heir .

Figura Figura

Square ClsEllipse

Heir

 

Heir Figura. , Heir Figura , , Heir::Square::Figura::display(), Heir::ClsEllipse::Figura::display().

, . virtual. , :

 

class X { public: int a; int f();};

class Y: virtual public X{};

class Z: virtual public X{};

class D: public Y, public Z{};

 

D X, Y Z. :

 

, , . , :

class X {};

class Y: virtual public X{};

class Z: virtual public X{};

class B: virtual public X{};

class C: virtual public X{};

class E: public X{};

class D: public X{};

class A: public D, public B, public Y, public Z, public C, public E{};

 

A X: , B, Y, C, Z, D E. , , , .

, :

class {};

class : virtual public {};

class CC: virtual public {};

class DD: public AA, public CC, virtual public BB{};

 

:

. - . , . :

class X { public: int d; };

class Y { public: int d; };

class Z: public X, public Y {

public:

int d;

void f(){d - X::d + Y::d;}

};





:


: 2018-10-15; !; : 565 |


:

:

. .
==> ...

1745 - | 1673 -


© 2015-2024 lektsii.org - -

: 0.009 .