わかりましたので、状況を設定しました:
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 の子であり、「メソッド」を別の方法で行う他のクラスがあるため、これが必要です。