幅優先検索を実装するためにキューを使用しています。ツリーのノードはstate型で、キュー内のノードはnode型です。
struct node
{
int b1,b2,b3,b4;
node* link;
}
struct state
{
int b1,b2,b3,b4;
state* rightChild;
state* leftChild;
};
Queue.enqueue() 関数のプロトタイプは次のとおりです。
bool enqueue(node n);
ツリーのノード (状態型) を渡すには、コピー コンストラクターまたはオーバーロードされた代入演算子によってそれらを変換する必要があります。または、状態オブジェクトがキューで受け入れられるように、Queueを状態の基本クラスにすることができます。ポリモーフィズムによって。これを行う良い方法は何ですか?