类模板 - 从“框”对象中删除项

时间:2016-09-11 18:04:04

标签: c++ class templates

我发布了要点here

这是一个数据结构课程。我们正在创建一个简单的PlainBox类并创建成员函数,允许我们在“框”中添加和删除项目,检查框是否为空,并检查私有数据成员的值。除了一件事,我完成了我的任务中的所有内容:我不确定如何创建remove()函数,以便我们可以从已经包含其中某些内容的框中删除项目。

以下是说明:“向模板类添加一个名为”remove“的公共方法。此方法没有参数并返回bool值。如果框中有一个项目,则应删除该项目(make框为空),方法应该返回true(任务完成)。否则,不要修改框并返回false(无法执行任务)。“

remove()函数位于PlainBox.cpp文件中。我很困惑如何将'ItemType item'变量重置为默认值,以便该框为空。我应该将'item'设置为空字符串吗? (item =“”;)

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

在main.cpp文件的底部,我正在测试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

我希望我已经正确地写了这篇文章,如果这没有任何意义,请告诉我!

1 个答案:

答案 0 :(得分:1)

为什么搞乱项目?你有一个标志(bool full)表示是否使用了item。我确定你有一个方法,当flag为false时写入item。如果bool full是假的,写作方法是否关心项目?