0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?