C++ の概念を理解するのに苦労しています。
メンバーポインターとメンバー変数を使用するのが適切なのはいつですか?
Node
ツリー構造とクラスがあるとしましょう。Data
私の直感は、そのandに変数を使用することですEdge
( がNode
「所有」しているためData
)、および parent へのポインターNode
です。これは正しいです?
class Node {
public:
Data data;
Edge edge;
Node *parent;
}
クラスのカスタム クリエーター メソッドを実装するときはNode
、メンバー変数も初期化する必要があります (ただし、ポインターは初期化しないのでしょうか?)。ルートについてはNode
、親ポインターを に設定できますNULL
。
Edge
しかし、変数をどうすればよいでしょうか。ルートNode
には親がなくEdge
、その親からルートにつながることもありません。どういうわけか「ゼロ」値に設定できますか? 重要な場合、Edge
クラスにはデフォルトのコンストラクターはありませんが、次のようなものですEdge(int length, int width)
。