📄 reservation_system.ads
字号:
package Reservation_System is type Position is (Aisle, Window); type Meal_Type is(Green, White, Red); type Reservation is tagged record Flight_Number: Integer; Data_Of_Travel: Integer; Seat_Number: String(1..3) := " "; end record; procedure Make(R: in out Reservation); procedure Select_Seat(R: in out Reservation); type Basic_Reservation is new Reservation with null record; -- type Nice_Reservation is new Reservation with record Seat_Sort: Position; Food: Meal_Type; end record; overriding procedure Make(NR: in out Nice_Reservation); -- Overrides procedure Order_Meal(NR: in out Nice_Reservation); type Posh_Reservation is new Nice_Reservation with record Destination: Integer; end record; -- -- override keyword is optional -- indicates to the compiler that this method is overriden by -- the derived type -- overriding procedure Make(PR: in out Posh_Reservation); -- Overrides procedure Arrange_Limo(PR: in Posh_Reservation); procedure Process_Reservation_Request(Request: in out Reservation'Class); -- -- Use Reservation_Ptr to define heterogen containers of Reservation types. -- Reservation_Ptr can access all types of Reservation derived objects. -- type Reservation_Ptr is access Reservation'Class; type Cell is record Next: access Cell; -- Anonymous type Element: Reservation_Ptr; end record; List: access Cell; procedure Process_Reservation(RP: in Reservation_Ptr); procedure Process_Reservations(Reservations: access Cell); -- -- Abstract types -- type T is abstract tagged record I: Integer; end record; procedure Op(X:T) is abstract;end Reservation_System;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -