类按钮需要函数指针

Class Button needs Function Pointers

本文关键字:函数 指针 按钮      更新时间:2023-10-16

我有一个名为Button的类。它包含4个变量:x、y、宽度、高度。在我的程序中,我有很多按钮,每个按钮都需要一个不同的函数。类似于指向函数的指针向量的东西。我不知道该怎么做。请引导我。

我认为您编写此代码是出于教育目的。如果不是(=如果这是为了在某些生产系统中使用),那么我的建议是使用一些框架来提供所有这些低级别的东西(例如Qt)。

与其使用函数指针,wich是一种"老派"技术,我建议在类中添加一个std::函数,并使用要调用的函数进行初始化。

例如,类似这样的东西:

class Button
{
   private:
      int x,y,width,height;
      std::function<void()> Callback;
   public:
      Button( std::function<void()> f ) : Callback(f) {}
};