HW7-1: List class 만들기
List클래스는 한가지 타입의 데이터 여러개를 보관해 준다. List가 저장할 수 있는 데이터 타입은 템플릿을 이용해서 어떤 데이터 타입도 보관이 가능하다. 구체적으로 다음과 같은 기능을 제공한다.
테스트 코드는 다음과 같다.
#include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; #define check( s, a, b ) { \ if( (a) != (b) ) { \ cout << "## FAIL (" << (s) << "): " << (a) << " != " << (b) << endl; \ } \ else { \ cout << "## PASS (" << (s) << "): " << (a) << endl; \ } \ } class Student { string name; int score; public: Student(string n, int s) : name(n), score(s) {}; bool operator==(const Student &s) { return name==s.name && score==s.score; } }; //*********** // 여기에 자신의 코드를 넣는다 // 이부분 외에는 수정하지 말 것 //*********** int main() { List<string> grocery; grocery.add("milk"); grocery.add("eggs"); grocery.add("bread"); check("add()/size()", grocery.size(), 3 ); grocery.display(); // 각 줄에 milk, eggs, bread가 출력됨 (세줄) grocery.clear(); check("clear()", grocery.size(), 0 ); List<Student> students; Student s1("Shin", 88); Student s2("Kim", 72); Student s3("Cho", 91); students.add( s1 ); students.add( s2 ); students.add( s3 ); Student s4("Shin", 90); check("find()", students.exist( s4 ), false ); check("find()", students.exist( s3 ), true ); system("pause"); return 0; }