Ada_Ru форум

Обсуждение языка Ада

Как работают интерфейсы?

Оставить новое сообщение

Сообщения

Maxim Reznik
Как работают интерфейсы?
2013-01-18 12:54:04

Привет

 

Помогите разобраться, как компилятор кодирует диспечеризируемый вызов интерфейсного типа, что есть указатель на интерфейс и как работает множественное наследование?

 

Можно на конкретном примере:

 

with Ada.Finalization;

 

package Pkg is

type Window is interface;

procedure Move (Self : Window; Position : Integer) is abstract;

type Window_Access is access all Window'Class;

type Impl is new Ada.Finalization.Controlled and Window with null record; procedure Move (Self : Impl; Position : Integer) is null;

Object : aliased Impl;

 

end Pkg;

 

with Pkg;

procedure Aaa is

My_Object : Pkg.Window_Access := Pkg.Object'Access;

begin

My_Object.Move (10);

end Aaa;

 

--

Maxim Reznik

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти