with persons; with Ada.Strings.Unbounded; with Ada.Text_IO; with Ada.Float_Text_IO; package workers is package su renames Ada.Strings.Unbounded; package to renames Ada.Text_IO; package fo renames Ada.Float_Text_IO; type worker is new persons.person with private; function get_salary(this: worker) return Float; procedure set_salary(this: out worker; val: Float); overriding procedure greet(this: worker); private type worker is new persons.person with record salary: Float; end record; end workers;