如何为地图初始化副本构造函数?

问题描述 投票:0回答:1

我至少已经将头撞了两个小时,在这里我的知识可能缺少空白。基本上,我必须为复制构造函数编写函数,无论如何我都无法使它正常工作。我绝对忽略了这里的内容,因为这似乎并不那么复杂。

// Definition default constructor
Members::Members()
{
    members = new map<string, set<string>>;
    numOfMembers = 0;
}

// Definition copy constructor
Members::Members(const Members& mem)
{
    numOfMembers = mem.numOfMembers;
}

我似乎根本无法执行该程序,它停在了复制构造函数上,但我不确定从何处去。仍然将我的头围绕着STL地图。希望得到任何帮助或解释!谢谢!

c++ dictionary copy-constructor
1个回答
0
投票

如果在任何一个构造函数中都不需要任何特殊的逻辑,则不要定义它们,默认的逻辑将自动放置在适当的位置,并且可以很好地完成工作。

我认为您不需要的比这更多:

class Members
{
    public:
        map<string, set<string>> members;
        int numOfMembers = 0;    
}

struct Members
{
        map<string, set<string>> members;
        int numOfMembers = 0;    
}
© www.soinside.com 2019 - 2024. All rights reserved.