2013-10-10 3 views
0

현재 C++ 학교 과제를 진행하고 있으며 3 가지 개체 유형이 있습니다. 고객, 고용 및 여행. 고객이 투어 및 대여를 좋아합니다. 요구 사항은 Array, Vector, Map 및 List를 사용하여 사용자가 데이터 구조 유형을 선택하여이 정보를 보관하는 것입니다. 1000 개의 레코드가있는 데이터 파일이 있으며 응용 프로그램에서 해당 개체를 읽고 필요한 개체를 만듭니다. 예를 들어 사용자가 벡터를 선택하면 위의 객체를 포함하는 3 개의 벡터를 만듭니다. 다음 작업이 수행됩니다.배열, 벡터,지도 및 목록 데이터 검색

  • 큰 데이터 세트에로드됩니다. 사용중인 데이터 구조가 정렬을 지원하는 경우 설명별로 정렬해야합니다.
  • 이상의 $ 2000, 날짜별로 정렬 된 자신의 계정이 때문 년
  • 이 끝나기 전에 을 발생합니다 여행을 예약했던 우리를 빚 고객이 예약 투어의 목록을 준비 고객 목록을 준비
  • 는 우편 번호 내 주요 응용 프로그램 헤더 파일에 다음 한 5

로 시작하는 고객이를 고용의 목록을 준비합니다. 개인

는 :

string structureType; 

Customer** customerListArray; 
Tour** tourListArray; 
EquipmentHire** equipmentsListArray; 

vector<Customer *> customerListVector; 
vector<Tour *> tourListVector; 
vector<EquipmentHire *> equipmentsListVector; 

std::map<string, Customer*> customerListMap; 
std::map<string, Tour*> tourListMap; 
std::map<string, EquipmentHire*> equipmentsListMap; 

list<Customer *> customerListList; 
list<Tour *> tourListList; 
list<EquipmentHire *> equipmentsListList; 

은 그 때 나는 사용자의 선택에 따라 해당 개체에 데이터를로드합니다. 그러나 제 질문은, 위의 작업을 수행하기 위해 데이터 구조의 각 유형에 대해 다른 기능을 작성해야합니까, 아니면 모두 사용할 수있는 공용 인터페이스가 있습니까?

내 C++ 지식은 매우 제한되어 있으며 C++ 98을 사용해야합니다.

감사합니다.

답변

0

일반적인 인터페이스는 "STL 컨테이너"입니다. 이것은 C++에서 정의 된 강력한 인터페이스는 아니지만 구현할 모든 STL 컨테이너에 의존 할 수있는 개념입니다. 따라서 템플릿을 사용하여 모든 코드에 적용되는 코드를 작성할 수 있습니다.

(지도, 벡터지도가 요소 유형으로 std::pair<>이 점에서 차이가 있습니다. 실제로이 "정체성"과 검색 기능 선택기를 "지도"를 제공함으로써 해결할 수 있습니다.)