Привет Помогите разобраться, как компилятор кодирует диспечеризируемый вызов интерфейсного типа, что есть указатель на интерфейс и как работает множественное наследование? Можно на конкретном примере: 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
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти