AB5CP2のその他の変更点において、
>自信のクラスと同一のクラス型オブジェクトに対するプライベート メンバ/メソッドへのアクセスを許可するように改良。
とあるわけですが、自身と同一のクラスの引数があるメソッドで、Private, Protectedなメンバに触ろうとしても
コンパイル時に「Privateメンバ~」というエラーが出てしまいます。
また、Newで生成されたクラスにおいて、演算子オーバーロードを実行するとアクセス違反が起こります。
32bit WinXpHome IE6という環境で確認しました。
お忙しいとは思いますが、修正のほどよろしくお願いいたします。
コード:
Class CTest
Private
Num As Long
Public
Sub Assign(ByRef Source As CTest)
Num = Source.Num
End Sub
Function getNum() As Long
getNum = Num
End Function
Sub setNum(Value As Long)
Num = Value
End Sub
Sub Operator = (Value As Long)
setNum(Value)
End Sub
End Class
#prompt
'Privateメンバにアクセスする
Dim A As CTest, B As CTest
A = 10
B.Assign(A)
Print B.getNum()
'動的なクラスの演算子オーバーロードを実行する
'Dim C As *CTest
'C = New CTest
'C = 10
'Delete C