…
下面分析VCL中的构造和析构的源代码,以Tcontrol为例:
constructor TControl.Create(AOwner: TComponent);
begin
inherited Create(AOwner);//创建基类子对象,并把析构权移交给AOwner。放在最前面
//这样就保证了“先创建基类子对象,再创建派生类子对象”的顺序
…//初始化,以及调用内部子对象的构造函数
end;
destructor TControl.Destroy;
begin
…//析构派生类中内部子对象
inherited Destroy;//析构基类对象,放在最后面
//这样就保证了“先析构派生类子对象,再析构基类子对象”的顺序
end;
5 正确使用构造函数和析构函数
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/