デストラクタが実装されているオブジェクトを指している2つのポインタを持つ構造体があるとします。私はListnodeポインタの頭 "にdelete
予約語を使用する場合、それは内部にデストラクタを呼び出します構造体のポインタを削除すると構造体内のポインタも削除されますか?
struct Listnode {
Student *student;
Listnode *next;
};
Listnode *head = new Listnode;
:非NULL値を持つListnode構造へのヘッドポイントは*学生と*次のことを前提としてい「学生」および「次の」ポイント先のそれぞれのクラスおよびリストノードクラスを構成します。言い換えれば、* headもdelete * studentと* nextのheadがそのListノードへの唯一のポインターである
構造体のデストラクタを実装できますか? –
@PatMurray絶対に!クラスでできることは何でも、あなたは 'struct'でも行うことができます。実際のところ、唯一の違いは、最初のアクセス宣言(public、private、またはprotected)前のクラスのメンバーはprivateとみなされ、structの同じメンバーはpublicとみなされる点です。 – dasblinkenlight
Structsは同じようなクラスを継承することができ、デフォルトの継承アクセスはstructの場合はpublic、クラスの場合はprivateです。別の違いが、同じ行に沿って。 – MSalters