私は一連のシステムテストを実装する抽象基本クラスを使用しています。簡略化された形式では、クラス宣言は次のとおりです。
class Test_Class
{
Test_Class();
~Test_Class();
Run_Test(void * param_set = NULL) = 0;
}
基本クラスには、Run_Test関数の実装が必要です。これにより、ユーザーは任意のデータ構造をvoidポインターとして渡し、子クラスのRun_Testの本体内の適切な型にキャストして、さまざまなテストで使用できるようになります。さまざまなデータ構造。たとえば、あるテストのfloatと別のテストのintのリスト。
これは面倒で、信じられないほどCのようなやり方のようです。継承または他の言語ユーティリティを使用するより良い方法はありますか?
注:お客様の制約により、このプログラムはSTLまたはBoostライブラリへのアクセスを許可されていません。