类函数toString()C ++

时间:2019-02-10 19:26:48

标签: c++ function set tostring

我有一个名为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()
{

}

1 个答案:

答案 0 :(得分:2)

您的教授希望您做的是编写一个函数std::string Set::toString(){ ... },该函数将返回一个std::string,其中包含对象内部容器的元素(根据您的情况,我怀疑可能是std::vector函数)将返回包含正确格式元素的字符串。

您将需要研究如何遍历内部容器,并使用string::append将元素附加到要返回的字符串中。希望这是足够的方向,可以真正开始使用该函数并实现它,因为它相当简单。在附加之前,您可能需要使用to_string()方法将整数转换为字符串。