ClassA と ClassB の 2 つのクラスがあります。ClassA には 3 つのメソッドがあります。
double Foo(double, ClassB);
double Bar(double (*f)(double));
double Baz(double, ClassB);
Baz に基づいて、Foo 内に関数 Qux を定義したいと思いますが、ClassB 型の引数はありません。
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 ++の方法を持っています、私は取ります:)
ありがとう