【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

21
(1): デフォルトの名無しさん [sage] 2017/01/26(木) 09:26:17.08 ID:1chZ2FHw(1/2) AAS
>>20
20(2): デフォルトの名無しさん [] 2017/01/25(水) 22:00:07.83 ID:Hm7TFQ6k(1) AAS
虚数演算は、皆さんはどのように作ってますか?。
V.B.用ルーチンを転用したら、見事に文法エラーが発生した。
'複素数(虚数)計算
Type Conplex
RealPart As Double
ImagPart As Double
End Type

Public Function ConplexAdd(CA As Conplex, CB As Conplex) As Conplex
Const TakaSubRoutineNo as long = 2&

'Cadd = CA + CB
TakaDammyReturnCode4 = TakaErrorPointSach(IniNameString, TakaSubRoutineNo)
ConplexAdd.RealPart = CA.RealPart + CB.RealPart
ConplexAdd.ImagPart = CA.ImagPart + CB.ImagPart
End Function
>>Conplex
複素数はComplexでしょ

>ConplexAdd.RealPart
>ConplexAdd.ImagPart
アクセス演算子(「.」や「->」)の使い方が間違っている
何故に関数名からアクセス演算子が伸びるのよ?
メソッドチェインしているならともかく

>虚数演算は、皆さんはどのように作ってますか?
普通にクラス作って、必要なメンバーを定義しているよ
非メンバーの算術演算子も別途オーバーロードしているよ

>V.B.用
恐らくVB6の事だと思うけど、.NetのVBもあるのだからきっちりバージョンを書いた方が良いよ
同じBASICだからといって、言語仕様が全く違うのだから文法エラーになるのは当然
FBはQBASICとの互換モードがあるBASIC系言語ってだけで様々なBASIC構文を網羅しているわけじゃないよ
分かっていると思うけれども一応ね

-lang fbにはクラスとしてのユーザ定義型(type ... end type)があるのだから
構造体としてのユーザ定義型ではなく、OOPのクラスとして定義するべきだと思うよ
22
(1): デフォルトの名無しさん [sage] 2017/01/26(木) 09:45:37.13 ID:1chZ2FHw(2/2) AAS
>>20
type Complex
private:
_real as double
_imag as double

public:
'' member functions.
declare const property Real() as double
declare property Real(byval value as double)
declare const property Imag() as double
declare property Imag(byval value as double)

declare operator +=(byref value as const Complex)
end type

'' non-member operators.
declare operator +(byref lvalue as const Complex, byref rvalue as const Complex) as Complex

こんな感じ
勿論、コンストラクタ、デストラクタ、その他のメンバー関数など
必要なものは定義しているよ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s