type Car is abstract tagged private;
type Audi is new Car with private;
type A_Car is access all Car'Class;
type A_Audi is access all Audi'Class;
procedure Drive
( | this | : access Car ); |
procedure Delete
( | this | : in out A_Car ); |
function Create_Audi return A_Audi;
procedure Go;