Server for Information Technologies
Сервер поддерживается
Центром Информационных Технологий
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Сервер Информационных Технологий содержит море(!) аналитической информации

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).

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


Comments: info@citmgu.ru
Copyright © CIT