FreeBASIC マニュアルのトップに戻る

FreeBASIC MemberFunction

目次→言語リファレンス→変数とデータ型→ユーザ定義型FUNCTION (Member)←オリジナル・サイト

FUNCTION (メンバー) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


値を返すメンバー手続きを、宣言、もしくは、定義します。

構文:
{ Type | Class | Union } typename
declare [ static | const ] Function fieldname [calling convention specifier] [ alias external_name ] ( [ parameters ] ) [ byref ] as datatype [ Static ]
End { Type | Class | Union }

Function typename.fieldname ( [ parameters ] ) [ byref ] as datatype [ Export ]
statements
End Function

パラメタ:
typename
Type か、Class か、Union の名前
fieldname
手続きの名前
external_name
外部的にリンクされた時に見える、項目の名前
parameters
手続きに渡されるパラメタ
calling convention specifier
Cdecl か、 Stdcall か、Pascal の内の、いずれか一つ

記述:
Function メンバーには、 演算子 . (メンバーアクセス)演算子 -> (メンバーアクセスへのポインタ) を使って、値を返すメンバー手続きを呼び出すことでアクセスします。
byref as return_type を指定して参照を返すこともできます)。
この手続きは、オプションで byvalbyref のいずれかのパラメータを利用できます。
typename は、明示的に Overload 予約語を使わなくても、多重定義できます。

typename は、Function メソッドが宣言され定義されている型の名前です。
typename の名前解決は、Namespace で使われる手続きと同じルールに従います。

非表示の this パラメーターは、typename と同じ型を持っていて、非静的メンバー手続きに渡されます。
this は、Type, Class, や Union の項目にアクセスするために使われます。
型の外側でグローバルとして定義された重複するシンボルにアクセスするには、接頭辞として 1つまたはできれば 2つの点を追加します:.SomeSymbol またはできれば ..SomeSymbolWith..End With ブロック内の場合は ..SomeSymbol のみ)。

Static (メンバー) は、Static 指定子を使って宣言できます。
Const (メンバー) は、Const 指定子を使って宣言できます。

通常の Function と同様に、Function メンバーの戻り値は呼び出し元のコードでは無視できます。

例:
#include "vbcompat.bi"

Type Date

  value As Double

  Declare Static Function Today() As Date

  Declare Function Year() As Integer
  Declare Function Month() As Integer
  Declare Function Day() As Integer

End Type

Function Date.Today() As Date
  Return Type (Now())
End Function

Function Date.Year() As Integer
  Return .. Year (value)
End Function

Function Date.Month() As Integer
  Return .. Month (value)
End Function

Function Date.Day() As Integer
  Return .. Day (value)
End Function

Dim d As Date = Date.Today

Print "Year  = "; d.Year
Print "Month = "; d.Month
Print "Day   = "; d.Day
Sleep


方言差:
参照:
ユーザ定義型 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-09-28 09:57:44
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

ホームページのトップに戻る

表示-非営利-継承