wm-help.net -> Электронная библиотека -> Разное -> Объектно-ориентированные технологии проектирования прикладных программных систем -> Реализация наследования -> Версия для печати

Реализация наследования

Реализация наследования

5.5.4. Реализация наследования

Наследование в языке C реализуются через указатели. Рассмотрим, например, конкретные подклассы Box и Circle абстрактного класса Shape. На языке C их можно представить следующим образом:

	struct Shape
	{
	  struct ShapeClass* class;
	  Length x;
	  Length y;
	};
	struct Box
	{
	  struct BoxClass* class;
	  Length x;
	  Length y;
	  Length width;
	  Length height;
	};
	struct Circle
	{
	  struct CircleClass* class;
	  Length x;
	  Length y;
	  Length radius;
	};

Указатель на структуры Box или Circle можно передать функции, ожидающей указатель на Shape, так как первые несколько членов структур Box и Circle идентичны первым членам структуры Shape (это позволяет привести тип указателя на структуру Box или Circle привести к типу указателя на структуру Shape).

Назад | Содержание | Вперед

Rambler's Top100