我有一个名为Set的类,该类具有定义的函数,该函数应将集合作为等效字符串返回。我的老师在处理问题时做得不好,因此在理解如何执行此操作方面存在重大问题。任何方向性的帮助或解释将不胜感激。我已经张贴了我的教授想要的设置。
edit1:为清楚起见,我理解如何立即实现大多数其他功能,但是由于某些原因,toString()函数实际上并没有引起我的兴趣。此外,还专门为我们提供了使用此功能的功能名称,因此应该将Union大写,因为它会干扰其他命令。
#include <iostream>
#include <algorithm>
#include <set>
#include <iterator>
class Set
{
public:
void add(int i);
bool belongs(int i);
void difference(Set B);
void Union(Set B);
void intersect(Set B);
std::string toString();
};
int main()
{
Set A;
Set B;
std::cout << "printing A" << std::endl;
A.toString();
std::cout << std::endl << "printing B" << std::endl;
B.toString();
std::cout << std::endl << "adding 12 to A" << std::endl;
A.add(12);
std::cout << std::endl << "printing A" << std::endl;
A.toString();
std::cout << std::endl << "does 4 belong to A" << std::endl;
A.belongs(4);
std::cout << std::endl << "does 11 belong to A" << std::endl;
A.belongs(11);
std::cout << std::endl << " remove B from A" << std::endl;
A.difference(B);
std::cout << std::endl << "printing A" << std::endl;
A.toString();
std::cout << std::endl << "union of A and B" << std::endl;
A.Union(B);
std::cout << std::endl << "printing A" << std::endl;
A.toString();
std::cout << std::endl << "intersecting A and B" << std::endl;
A.intersect(B);
std::cout << std::endl << "printing A" << std::endl;
A.toString();
}
//add the number i to the set
void Set::add(int i)
{
}
//return true if i is a member of the set
bool Set::belongs(int i)
{
}
//removes B from the set A where A is the current set so A=A-B
void Set::difference(Set B)
{
}
//performs A U B where A is the current set and the result is stored in A
void Set::Union(Set B)
{
}
//performs A B where A is the current set and the result is stored in A
void Set::intersect(Set B)
{
}
//displays the set in roster notation {1, 2, 3} etc
std::string Set::toString()
{
}
答案 0 :(得分:2)
您的教授希望您做的是编写一个函数std::string Set::toString(){ ... }
,该函数将返回一个std::string
,其中包含对象内部容器的元素(根据您的情况,我怀疑可能是std::vector
函数)将返回包含正确格式元素的字符串。
您将需要研究如何遍历内部容器,并使用string::append
将元素附加到要返回的字符串中。希望这是足够的方向,可以真正开始使用该函数并实现它,因为它相当简单。在附加之前,您可能需要使用to_string()
方法将整数转换为字符串。