STL 정렬 기능으로 파생 클래스를 정렬하는 데 문제가 있습니다.STL 추상 클래스로 정렬
예 -
헤더 다음 IMPL에서
vector<AbstractBaseClass *> *myVector;
:
sort(myVector->begin(), myVector->end(), compareBy);
비교기 :
bool MyClass::compareBy(AbstractBaseClass& a, AbstractBaseClass& b) {
return (a->someMethod() < b->someMethod());
}
편집 :이 질문은 일반적인 사용으로 설치된다 정렬의 STL과 추상 클래스 (나는 추적 덤프를 게시하지 않는다). 그것의 명백하지 않은 경우에, 나는 지옥에 그것이 인쇄 된대로 컴파일 할 수있는 방법이 없다고 말할 것이다. 오히려, 저는이 장난감 추상 클래스로 어떻게 전형적으로 정렬 할 것인지 (데이터 구조가 주어짐) 묻습니다.
빠른 답변 주셔서 감사합니다, 당신들이 이미 nail'd 그것을 믿습니다!
좋아요. 스택 오버플로!
실제 코드를 입력하십시오. 벡터는 무엇을 유지합니까? 어떻게 정의됩니까? 문제가 무엇입니까? 컴파일 오류, 링커 오류, 예상하지 못한 출력? – GManNickG
그리고 ... * 어떤 종류의 문제가 있습니까? – Christian
내 충고 - bool MyClass :: compareBy() 안에 중단 점을 설정하고 확인하십시오. –