好的,所以我设置了情况:
ClassA()
{
method();
}
ClassB: public ClassA()
{
overrides method();
}
我在另一堂课上遇到了这种情况:
list<ClassA> members;
addMethod(ClassA newMember)
{
members.push_back(newMember);
}
update()
{
for(std::list<ClassA>::iterator list_iter = members.begin(); list_iter != members.end(); list_iter++)
{
ClassA tklb = *list_iter;
tklb.method();
}
return 0;
}
问题是,当我在做 tklb.method() 时,我想从子类调用 on 但他总是从父类调用,因为它是一个 list 。我需要这个,因为我有其他类是 classA 的子类,并且会以不同的方式执行“方法”。