그래서 내가 있다고 가정호출 상위 클래스 멤버 C++
Class A
{
void A::DoSomething();
A::A()
};
Class B : public A
{
void B::DoSomething();
B::B()
}
Class C : public A
{
void C::DoSomething();
C::C()
}
B obj1;
C obj2;
void RemoveObjectFromListOrSomethingSimiliar(A objToLookFor)
{
//assuming you found the object, how would you call the top-level DoSomething() (for example B::DoSomething()) instead of the A::DoSomething()?
}
잘 모르겠어요 그 의미를 확인
[편집] 를 만드는 경우, 즉 좀 일하고 있도록. 여전히 기본 방법으로 리디렉션되고 있지만 혼란 스럽습니다.
B obj1;
c obj2;
AList.push_back(obj1);
AList.push_back(obj2);
//later, in another method:
A objInBack = AList.back();
objInBack.DoSomething();
AList.pop_back();
objInBack은 클래스 구조의 A 수준을 참조하고 해당 수준의 DoSomething()을 호출합니다. A의 메소드를 가상으로 변경 했으므로 실행 레벨을 명시 적으로 정의 할 수있는 방법이 있습니까?
은 당신이 게시 것처럼 내 편집을 기록했다. 네가 한 일이 내가 필요한 것임을 믿는다. 감사 – Fuller