クラスを使用して、C++ で一般的なツリー構造を実装したい! - そして、このツリーは、キー (私の場合は整数) と leftChild および rightChild 属性で構成されています。これらの属性は、ツリー自体と同じ型である必要があります。
CI では、次のようにできます。
typedef struct avl {
int key;
int bf;
struct avl *leftChild;
struct avl *rightChild;
} AVLTree;
そして、C++ コードで次のことを試みました。
class MTree {
public:
int key;
int bf;
MTree leftChild;
MTree rightChild;
MTree() {}
~MTree() {};
}
しかし、うまくいかず、次のエラーメッセージが表示されます。
mtree-ops.cpp:12: error: field ‘leftChild’ has incomplete type
mtree-ops.cpp:13: error:error: field ‘rightChild’ has incomplete type
ほら、クラスが独自の型の属性を持っているとは言えないようです。それは、定義時に実際には存在しないものを参照しようとするようなものだからです。これは、C++ クラスを使用してどのように行うことができますか?