下面是一个包含代码示例的解决方法,展示了如何在Ada中操作私有类型:
with Ada.Text_IO;
procedure Main is
package My_Private_Types is
type My_Private_Type is private;
private
type My_Private_Type is record
Data : Integer;
end record;
end My_Private_Types;
package body My_Private_Types is
end My_Private_Types;
procedure Print_Data(Item : My_Private_Types.My_Private_Type) is
begin
Ada.Text_IO.Put(Item.Data);
end Print_Data;
-- 创建一个私有类型的实例并调用打印函数
Item : My_Private_Types.My_Private_Type;
begin
Item.Data := 42;
Print_Data(Item);
end Main;
在上面的代码中,我们定义了一个私有类型My_Private_Type
。然后,我们在My_Private_Types
包体中将其声明为私有。这意味着我们只能在My_Private_Types
包体中访问和操作该类型。
为了演示这一点,我们在Main
过程中创建了一个My_Private_Types.My_Private_Type
类型的实例Item
,并将其数据设置为42。然后,我们调用了Print_Data
过程来打印出Item
的数据。
这个示例展示了如何在Ada中操作私有类型。通过将类型声明为私有并在包体中实现类型,我们可以控制对类型的访问和操作。