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)。