オブジェクト指向 Part2
■ このスレッドは過去ログ倉庫に格納されています
0627デフォルトの名無しさん
NGNG>それとほぼ同様な感じでnumChangeメソッドの戻り値をIntegerにしてみたら、例外は無く実行されるので、
>それ以外の部分に誤りがあると推測していたのですが…。
戻り値をIntegerにした時にn2 := TNum.Create; 、n2.Free; を消してるので、この部分はおかしかったです。
何かを勘違いしてました、すみません。
>>626さん
ありがとうございます。
n2にn1が代入されるため、numChangeメソッド内でも n2.Free; = n1.Free; されてしまい、2重開放になるということは理解できました。
そこでもう一つ疑問なのですが、numChangeメソッドの n2 := TNum.Create; の一行を削除したら、再び例外が出ました。
破棄の時と同様に、これもインスタンスを2度生成しているような気がするのですが、こっちは必要の様ですね。
(オブジェクトはひとつなのに、2回生成するのはおかしいような…。)
その一行がどうして必要なのかが理解できないのですが、どうしてなのでしょうか?
こちらも教えて頂けたら嬉しいです。
■ このスレッドは過去ログ倉庫に格納されています