2度目のテスト(→1度目)。今度はGC本見たからすっきりしたはず。 GC対象となるオブジェクトのベースクラス: class GCObject { GCObject* next; bool mark_bit : 1; public: GCObject() { } virtual ~GCObject() { } virtual void mark() { this->mark_bit = true; } protected: bool marked() { return mark_bit; } friend class MarkSweepGC; }; 作られたオブジェクトはスイープフェーズですべてをたどるために、単方向リストでつなぐためのメンバnextと、マークビットのメンバmark_bitを持つ。継承するオブジェクトが内部にGCObjectを指すメンバを持つ場合は mark() メソッドをオ