我想做以下事情:
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++ ×1