私はタスクで忙しく、構造を作成する必要があり、その構造を使用してオブジェクトを作成および削除する必要があります。
これが私が内部に関数を持つ構造体を作成した方法です。
struct Operation
{
char op;
double (*apply)(Operation*, double,double); // takes two doubles
}
私は完全に理解しています。次に、オブジェクトを作成する必要があります。
Operation* Make(char op)
{
Operation* ret = new Operation;
ret -> op = op;
ret -> apply = doit;//doit is a norther function
return ret;
}
「->」のオペラは次のように言っているのと同じです。
(*ret).op = op;
そして、オブジェクトを削除します。
void BrakeObject(Operation& o)
{
delete o;
o = NULL;
}
関数(適用)は基本関数と同じように見えますか?これは配列ですか?
Operation* ret = new Operation;
オブジェクトは何ですか?それは単なる関数ですか?