プログラム技術板シリトリ!
■ このスレッドは過去ログ倉庫に格納されています
0572デフォルトの名無しさん
NGNG/*
AdaはC++同様オブジェクトが値型なので、
代入は実体のコピーになります。
Controlled型にすればAdjust(代入演算)も定義できますが、
ウィンドウクラスみたいなのは実体がコピーできても意味がないので
limitedを付けて代入できなくします。
言うなればC++でコピーコンストラクタやoperator=をprivate宣言するようなものですか。
で、DelphiのObject PascalはオブジェクトがJavaとかと同じ参照型なので
実体のコピーはAssignメソッドを使います。
VCLライブラリのウィンドウを表す基底クラスTWinControlにも、
派生の都合上Assignが親クラスから引き継がれてて無意味に存在しているわけです。
値型の言語と参照型の言語をごちゃまぜにしたのは失敗でした。
(しかも、自分で自信が無くなってあわてて調べて見たら
TWinControl同士Assignしたら例外が上がりますが、
TCustomActionとの間ではちゃんとした動作が書かれてたりして…
何か書く時はちゃんと調べなければいけませんね。ごめんなさい)
*/
■ このスレッドは過去ログ倉庫に格納されています