145
|
1 package Equal5 is
|
|
2 type Eq_Parent is tagged null record;
|
|
3
|
|
4 function "="
|
|
5 (Left : Eq_Parent;
|
|
6 Right : Eq_Parent) return Boolean;
|
|
7
|
|
8 type Eq_Iface is interface;
|
|
9
|
|
10 function "="
|
|
11 (Left : Eq_Iface;
|
|
12 Right : Eq_Iface) return Boolean is abstract;
|
|
13 procedure Op (Obj : Eq_Iface) is abstract;
|
|
14
|
|
15 -----------------
|
|
16 -- Derivations --
|
|
17 -----------------
|
|
18
|
|
19 type Child_6 is new Eq_Parent and Eq_Iface with null record;
|
|
20
|
|
21 procedure Op (Obj : Child_6);
|
|
22
|
|
23 function Equals
|
|
24 (Left : Child_6;
|
|
25 Right : Child_6) return Boolean;
|
|
26
|
|
27 function "="
|
|
28 (Left : Child_6;
|
|
29 Right : Child_6) return Boolean renames Equals; -- Test
|
|
30
|
|
31 end Equal5;
|