有一些基本方面,我完全失踪了。我有一个包含集合
的对象PropertyContainer::PropertyContainer(string comFile, string resFile)
{
set<Property*>* prCont = new set<Property*>();
...
}
在我的主要演讲中
PropertyContainer* ptrPropertySet = new PropertyContainer(comFile, resFile);
此构造函数遍历并使用文件中的数据填充集合。
如果(当我还在构造函数中时)我遍历集合,那么所有的属性都在那里。
如果我回到main()并访问该设置它是空的(我已通过访问器功能完成它并暂时公开并直接访问它,以确认我没有制作访问者功能中的错误)
这让我相信我缺少一个非常基本的编程原则。任何帮助或链接将不胜感激。
答案 0 :(得分:0)
您正在定义一个局部变量prCont,它隐藏您的成员变量。
动态分配std :: sets非常罕见,你可能不应该这样做
如果您将该成员声明为set<Property*> prCont
,则会在创建PropertyContainer
时自动默认构建该成员。