.


:




:

































 

 

 

 


.




 

, . , , . - (Liskovs Substitution Principle).

 

, : , , , ? . :

 

- (Bus IS A Vehicle).

- (Truck IS A Vehicle).

 

. , Engine Vehicle, :

 

- ???

 

, , , .

 

, , , . , , , - :

 

class Point3D

{

float m_x, m_y, m_z;

};

 

class Circle

: public Point3D

{

float m_radius;

public:

Circle (Point3D _center, float _radius)

: Point3D(_center), m_radius(_radius)

{}

};

 

, . . ! , - :

 

class Circle

{

Point3D m_center;

float m_radius;

public:

Circle (Point3D _center, float _radius)

: m_center(_center), m_radius(_radius)

{}

};

 

- ( ):

 

class Ellipse

: public Circle

{

float m_radius2;

public:

Ellipse (Point3D _center, float _radius1, float_radius2)

: Circle(_center, _radius1), m_radius2(_radius2)

{}

};

 

- . , - , :

 

class Ellipse

{

Point3D m_center;

float m_radius1, m_radius2;

public:

Ellipse (Point3D _center, float _radius1, float _radius2)

: m_center(_center), m_radius1(_radius1), m_radius2(_radius2)

{}

};

 

class Circle

: public Ellipse

{

public:

Circle (Point3D _center, float _radius)

: Ellipse(_center, _radius, _radius)

{} // ^

};

 

, . . , , , , -, . , , , , .

 

- - , :

 

class ShapeWithCenter

{

Point3D m_center;

public:

ShapeWithCenter (Point3D _center)

: m_center(_center)

{}

};

 

class Circle

: public ShapeWithCenter

{

float m_radius;

public:

Circle (Point3D _center, float _radius)

: ShapeWithCenter(_center), m_radius(_radius)

{}

};

 

class Ellipse

: public ShapeWithCenter

{

float m_radius1, m_radius2;

public:

Ellipse (Point3D _center, float _radius1, float _radius2)

: ShapeWithCenter(_center), m_radius1(_radius1), m_radius2(_radius2)

{}

};

 





:


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


:

:

: , .
==> ...

1841 - | 1442 -


© 2015-2024 lektsii.org - -

: 0.01 .