一个类最多可以有几个析构函数,析构函数和构造函数不太理解,郁闷ing....
help

解决方案 »

  1.   

    析构函数和构造函数都可以有任意多个,实现的方法就是重载。
    一般的,不少类都有多个构造函数,而析构函数通常只有一个(即Destroy)。一般的没有必要设计多个析构函数。因为,Destroy是TObject的虚拟方法,所有子类覆盖Destroy并实现新的处理;所有子类也继承TObject.Free,Free内部调用Destroy。因此对象实际销毁时,通常直接调用Free而不是Destroy实现。但是并不是说构造函数不可以有多个。比如:  TMyClass = class
        destructor Destroy(Info: String); reintroduce; overload;
      end;var
      Form1: TForm1;implementation{$R *.dfm}destructor TMyClass.Destroy(Info: String);
    begin
      ShowMessage(Info);
      inherited Destroy;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      TMyClass.Create.Destroy('OK');
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————