我有两个班级,ClassA 和 ClassB。ClassA 有三个方法:
double Foo(double, ClassB);
double Bar(double (*f)(double));
double Baz(double, ClassB);
我想在 Foo 中定义一个函数 Qux,基于 Baz,但没有 ClassB 类型的参数:即“double Qux(double)”类型,以便我可以将它传递给 Bar:
double ClassA::Foo(double x, ClassB y)
{
// double Qux(double .) = Baz(., y)
Bar((*Qux))
}
有人知道吗?
我想有些人会回答这不是这样做的好方法。因此,为了解释具体情况,我使用数值方法(http://en.wikipedia.org/wiki/Simpson%27s_rule)为金融资产定价,以计算积分:
ClassA: FinancialAsset
ClassB: PrincingModel
Foo: FinancialAsset.Price(date, PrincingModel)
Bar: FinancialAsset.SimpsonMethod(FunctionOneArgument)
Baz: FinancialAsset.FunctionTwoArguments(date, PrincingModel)
我正在寻找:
Qux: FunctionOneArgument(date) = FinancialAsset.FunctionTwoArguments(date, PrincingModel)
我不确定解决这种结构的好方法是什么。我你有更好/更多的 c++ 方法来做,我会接受:)
谢谢