构造函数继承问题

Lar*_*tig 3 delphi

我有两个类,一个基类和一个派生类.我的基类有这种形式的构造函数:

constructor TBaseClass.CreateFromXML(ANode: IXMLNode);
begin

  Create;

  //Set members from XML

end;
Run Code Online (Sandbox Code Playgroud)

我的派生类有一个这种形式的构造函数:

constructor TDerivedClass.Create;
begin

   FDatabaseID = -1;

end;
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我使用基类[ TDerivedClass.CreateFromXML(Node);]中的构造函数创建派生类的对象时,在CreateFromXML构造函数开头调用的Create不是我派生类中的那个,而是我的基类继承的那个来自TObject.

是否有可能让基类构造函数调用我的派生类构造函数,即使它进一步"向下"继承链?

Uli*_*rdt 8

尝试constructor Create; virtual;在TBaseClass中声明一个.不要忘记将"派生"构造函数标记为override.