我遇到了一个问题。我有一个 A 类,还有一个从 A 继承的类,我们称它为 B 类。我有虚函数。我想通过 operator== 将 A 和 B 与另一个 C 类进行比较。如果我想要一个 A 的列表,让我们在 stl 列表中说,我必须使用指向 A 的指针,所以它看起来像:
list<*A> list;
我也有:C something
但现在,我不能使用这个功能:find(list.begin(),list.end(),something)
因为我不能使用运算符 == 指针(*)。
我找到了解决方案,但我认为它不是最好的,所以我的问题是——我能做得更好吗?
iter=list.begin();
for(iter;iter!=list.end();++iter)
{
if((*iter).operator==(something)
return ...
}
谢谢你。