型をパラメーターとして渡したい (変数や参照ではない)。
私はこの作業コードを持っています:
"testState2" がクラスの名前 (つまり、この場合は型) である実行コード。基本型が state_t であることに注意してください。
changeState(new testState2());
状態変更機能:
void state_t::changeState(state_t * new_state)
{
// Check if the state has changed
if (this != new_state)
{
qDebug() << this->name << ": State changed to: " << new_state->name;
delete this;
_state = new_state;
}
else
{
qDebug() << this->name << ": State un-changed";
}
}
このコードでは、基本的には testState2 の新しいインスタンスを作成していますが、呼び出しコードをさらに簡素化したいと考えています。次のように、型を渡したいだけです。
changeState(testState2);
注: 「新規」はなく、これはインスタンスを作成するのではなく、単にクラスの名前を渡すだけなので、次のようになります。
- これは可能ですか?
- もしそうなら、どのように?