0
行,所以我已經將情況設置:如何調用父類類型列表的子類的方法? C++
ClassA()
{
method();
}
ClassB: public ClassA()
{
overrides method();
}
的我有這個situtation回事另一個類:
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()我想從子類調用,但他總是從父類調用,因爲它是一個列表。我需要這個,因爲我有其他類是classA的子類,並且會以不同方式執行'method'。
你也可以指出'方法'需要'虛擬'(並且有一個返回類型) – GuyRT