2016-09-11 4 views
1

から項目を削除する私はその要旨hereを掲載しました:クラステンプレート - 「ボックス」オブジェクト

これは、データ構造のコースです。単純なPlainBoxクラスを作成し、「ボックス」からアイテムを追加したり削除したり、ボックスが空であるかどうかをチェックしたり、プライベートデータメンバーの値をチェックするためのメンバー関数を作成しています。 1つのことを除いて、譲渡のすべてが完了しました。remove()関数を作成する方法がわからないので、すでに何かが入っているボックスからアイテムを削除することができます。

「テンプレートクラスに「remove」というパブリックメソッドを追加するこのメソッドはパラメータを持たず、ブール値を返します。ボックスにアイテムがある場合は、そのアイテムを削除する必要がありますボックスを空にする)、メソッドはtrueを返します(タスクは完了しました)。そうでなければ、ボックスを変更せずfalseを返します(タスクを実行できませんでした)。

remove()関数は、PlainBox.cppファイル内にあります。私はちょうど私が 'ItemType item'変数をデフォルトにリセットして、ボックスが空であるようにする方法を混乱させます。私はちょうど空の文字列に '項目'を設定する必要がありますか? (項目= "「;)main.cppにファイルの一番下に

template<class ItemType> 
bool PlainBox<ItemType>::remove() 
{ 
    if (full == true) 
    { 
     full = false; 
     return true; 
    } 
    else 
    { 
     return false; 
    } 
} 

、私はsecondNumberBox上のremove()関数をテストし、それが空だかどうかを確認するために、その後のプライベートメンバ変数をチェックしています。ここで

は、参考のためにPlainBoxクラスです:

// Declaration for the class PlainBox 
class PlainBox: public BoxInterface<ItemType> // added parent class 
{ 
private: 
    // Data field 
    ItemType item; 
    bool full; 

public: 
    // Default constructor 
    PlainBox(); 

    // Parameterized constructor 
    PlainBox(const ItemType& theItem); 

    // Accessor method to get the value of the data field 
    ItemType getItem() const; 

    // Add method 
    bool add(const ItemType& theItem); 

    // Remove method 
    bool remove(); 

    // isEmpty method 
    bool isEmpty(); 

}; // end PlainBox 

私は、これはどんな意味がないなら、私に知らせて、私は正確にこのポストを言葉で表現しましたね!

+3

投稿する[MCVE](http:www.stackoverflow.com/help/mcve) – ProXicT

+0

関連するコードは、リンクではなく、投稿を確認する必要があります。また、[MCVE]を作成することを確認してください – bolov

+0

投稿を更新しました。それが今受け入れ可能かどうかお知らせください:) –

答えて

1

なぜアイテムを混乱させるのですか?アイテムが使用されているかどうかを示すフラグ(bool full)があります。フラグがfalseのときにアイテムに書き込むメソッドがあると確信しています。 bool fullがfalseの場合、書き込みメソッドはアイテム内のwhatsを気にしますか?

+0

あなたが正しいと思います。何らかの理由で、私はブールを偽に設定する以上のことをすると考えました。私はこれらのことを思う傾向がある... –

関連する問題