小编cth*_*thl的帖子

传递成员函数(或变通方法)

我想做以下事情:

class A{
private:
  //some data
  B b;
  double f(double);
public:
  A(){
    b = new B(f); // does not work of course
  }
};

class B{
public:
  B(double (*func)(double));
};
Run Code Online (Sandbox Code Playgroud)

B类应该解决函数func指定的数学问题.A类现在应该使用B来解决func = f的这个问题.成员函数f访问A的私有数据成员.问题是,当然我不能简单地将指针传递给成员函数.我知道有办法做到这一点,但B应该仍然能够承担任何功能,而不仅仅是A的成员.到现在为止,我只是制作了f和A静态的成员,但我认为这是一个相当糟糕的设计.你能想到解决这个问题吗?

c++

5
推荐指数
1
解决办法
130
查看次数

标签 统计

c++ ×1