0

我有一个带有“连接”和“断开”按钮的 Windows 窗体程序。

单击连接按钮时,应创建我自己的类的对象:

private: System::Void Connect_Click(System::Object^  sender, System::EventArgs^  e) {
  my_class new_object();
  return;
}

单击“连接”按钮后,“断开连接”按钮将变为启用状态,并且应删除该对象:

private: System::Void Disconnect_Click(System::Object^  sender, System::EventArgs^  e) {
             //delete new_object
             return;
         }

问题是,我真的不知道如何从另一种方法中删除我的对象。如何将 new_object 传递给 Disconnect 方法?

4

1 回答 1

0

为了能够访问来自多个处理程序的任何变量,您必须使这些变量成为全局变量。

此外,使用析构函数而不是delete运算符删除对象。

显式调用析构函数也是一个坏习惯。在您的情况下,如果您将其称为程序,它将崩溃,因为在执行结束时,编译器将再次调用它自己的所有对象的析构函数,并尝试释放已释放的内存。

于 2013-06-20T21:40:10.183 回答