くだすれDelphi(超初心者向け) Part5
■ このスレッドは過去ログ倉庫に格納されています
0031デフォルトの名無しさん
NGNG>自分で多々井を使うような場合はとても必要なのだとわかりますが
これがどのレベルの多胎のことを言ってるのか分からないけど
type TMyObject = class;
TMyObject2 = class(TMyObject); constructor Create; virtual; end;
TMyClass = class of TMyClass constructor Create; override; end;
function CreateObject(MyClass: TMyClass): TObject;
begin
Result := MyClass.Create;
end;
とするときvirtual/overrideがあればCreateObject(MyClass), CreateObject(MyClass2)は
それぞれ期待したインスタンスを生成できるが
なければ両方とも基底クラスであるTMyClassのインスタンスが生成されてしまう。
だから判断基準はクラス参照経由でコンストラクタが呼ばれる可能性があるかどうか。ということ。
■ このスレッドは過去ログ倉庫に格納されています