1

仮想クラスをファクトリに登録する方法はありますか? object_utils マクロを使用すると、不正な仮想クラスに対して new(...) を呼び出す type_id::create(...) メソッドが定義されます。

当然のことながら、ファクトリに登録された仮想クラスには、型のオーバーライドが必須です。誰かがこれに対するエレガントな解決策を持っていれば、それは素晴らしいことです.

4

1 に答える 1

2

残念ながら、独自のファクトリを再作成せずに仮想クラスを使用して UVM でこれを行う方法はありません。ただし、このクラスの build_phase() を計測して、クラスがオーバーライドされたことを確認できます。いずれにせよ、実行時までこれを確認することはできません。したがって、仮想クラスが提供するコンパイラ チェックが失われるので、わざわざそれを使用する必要はありません。

于 2014-03-05T16:20:22.347 に答える