我发布了要点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
我希望我已经正确地写了这篇文章,如果这没有任何意义,请告诉我!
答案 0 :(得分:1)
为什么搞乱项目?你有一个标志(bool full)表示是否使用了item。我确定你有一个方法,当flag为false时写入item。如果bool full是假的,写作方法是否关心项目?