【发布时间】:2013-11-19 23:11:05
【问题描述】:
提前感谢您的帮助。 这是我的问题:
我在类 (A) 中包含子类 (x, y, z)。一些函数是共享的(在 A 中声明),而另一些则不是(在子类中声明)。
所有对象都存储在一张地图map<string,A>Groups。
然后,我想使用迭代器对所有函数进行循环,但是出现了只属于一个类的函数的问题,它说 A 类不包含函数...
我想说
for(it=Groups.begin(); it!=Groups.end(); ++it)
{
it->second.functionShared1()
如果 objects1 属于 x 类:it->second.functionsOfClassX 并且它知道它必须在 x 类中找到函数。
我想这是不可能的,但如果您知道我可以如何解决这个问题,我将不胜感激。
我虽然想创建虚函数,但它会很乱,或者为每个类创建一个映射和一个包含所有映射的大映射。但是我不知道如何迭代它并声明outermap [“x”] = innermap [x]。就是这样,对不起,我刚开始使用C++,希望我解释得很好。
【问题讨论】:
标签: c++ function class inheritance map