Class car는 singleton pattern으로 동작한다. 즉, 단 한 개의 object instance 만을 만들 수 있다.
이를 위해 static method getInstance( )를 지원한다.
method void addNameAge(string s, int a)는 s와 a를 인수로 받아 instance 내에 map으로 저장한다.
s가 key, a가 value가 된다.
method getNameMap(void)는 만들어진 map을 반환한다.
필요한 헤더파일들을 추가하고,
요구조건을 만족하도록 class Car를 구현하여 제출하시오.
제출할 때는 아래 프로그램을 copy하여 표시된 부분은 추가하고,
변경금지된 부분은 그대로 둔다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /* 헤더파일 포함 class Car를 구현 */ //---------------아래부분 변경금지 ------------------------------ Car* Car::instance = nullptr; int main() { Car* c = Car::getInstance(); string name; int age; while (true) { getline(cin, name); cin >> age; cin.ignore(); if (name == "END") { break; } else { c->addNameAge(name, age); } } Car* d = Car::getInstance(); map<string,int> res = d->getNameMap(); cout << res["mike"]+res["jane"] << endl; return 0; } |