Simulinkモデルに基づいてリアルタイムワークショップで作成されたCモジュールがあります。 outputarrayの内容に基づいてC関数のOOスタイルインターフェイスをモデル化する方法は?
がint init();
int calc(double *inputarray, double *outputarray);
int term();
、私はOutputThingというクラスをモデル化することができます。 このモジュールは、3つのパブリックな機能を提供します。
これらの関数をWrapperModuleというラッパークラスに統合したいと考えています。私の問題は、適切CALC()関数のラッパーメソッドをどのように設計するか、である
class WrapperModule {
public:
int initialize();
OutputThing calc(...);
int terminate();
};
: は今、私はこのようになりますクラスを持っています。 を避けて、配列/ベクトルを1つの引数として持つメソッドを作成します。しかし、ベクトルからの正しい引数 の特定は難しいので、私は6つ以上の引数を持つメソッドを持つという考え方は嫌いです。
彼のOOSCの本のBertrand Meyerは、セッターメソッドの使用を示唆しています。次のようなもの:
class WrapperModule {
public:
int initialize();
void set_foo(double f);
void set_bar(double b);
OutputThing calc();
int terminate();
};
アイデア?どんなアプローチが良いか分かりません。
私の答えでは、init()は1回の初期化関数でterm()は1回限りの終了関数で、calc()はinit()とterm ()。これは正しいです? –