LoginSignup
0
0

More than 5 years have passed since last update.

Ada言語 15日目 クラスっぽいもの (package)

Last updated at Posted at 2019-01-01

はじめに

C++のクラスを実現しようとしたのですが、パッケージだのなんだので、「それっぽいもの」が出来上がりました。
詳しいことはまだわかっておりませんが、一応メンバ関数のつもりが動いたのでよしとしました。
メンバ変数については、宣言と同時に初期化してしまっていますが、できたのでとりあえずは良しとしました。

それと、IDEのほうでもファイル分割ができました。
手順としては、

  • IDE上でsrcフォルダを右クリック
  • New -> Ada Package
  • 名前を決めてOK
  • メインファイルからwith useで呼ぶ

で、いけました。

ソースと結果

main.adb
with zisaku_package1;
use zisaku_package1;

procedure main is

   hennsuu : Integer := 0;

   obuzyekuto : zisaku_package1.rekoudo;

begin

   hennsuu := zisaku_package1.mennba_function(20);

end main;
zisaku_package1.adb
with Ada.Text_IO;
use Ada.Text_IO;

package body zisaku_package1 is

   function mennba_function(hikisuu : Integer) return Integer is

   begin

      Ada.Text_IO.Put_Line("member function 1");
      return (hikisuu + 100);

   end mennba_function;

end zisaku_package1;
zisaku_package.ads
package zisaku_package1 is

   type rekoudo is private;

   function mennba_function(hikisuu : Integer) return Integer;

private

   type rekoudo is
      record
         mennba_hennsuu1 : Integer := 0;
         mennba_hennsuu2 : integer := 0;  
      end record;

end zisaku_package1;

実行結果 : member function 1

メンバ関数が値を返しているのですが、これを表示しようとしたのですが、忘れてしまいました。
記事を書いているときに気が付いたので、そのままにしておきます。

最後に

年が明けました。
2019年もよろしくお願いします。

日記一覧へ

Ada言語を習得する日記一覧

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0