//ex15_4.cpp //мультимножество автоматически сортирует персон, //хранящихся по указателям #include #include #pragma warning (disable:4786) #include using namespace std; class person { private: string lastName; string firstName; long phoneNumber; public: person(): //конструктор по умолчанию lastName("пусто"),firstName("пусто"), phoneNumber(0L) { } //конструктор с тремя аргументами person(string lana,string fina,long pho): lastName(lana),firstName(fina),phoneNumber(pho) { } friend bool operator<(const person&,const person&); void display()const //display person 's data { cout <setPtrsPers; multiset::iterator iter; //создать персон person*ptrP1 =new person("KuangThu ","Bruce ",4157300); person*ptrP2 =new person("McDonald ","Stacey ",3327563); person*ptrP3 =new person("Deauville ","William ",8435150); person*ptrP4 =new person("Wellington ","John ",9207404); person*ptrP5 =new person("Bartoski ","Peter ",6946473); person*ptrP6 =new person("McDonald ","Amanda ",8435150); person*ptrP7 =new person("Fredericks ","Roger ",7049982); person*ptrP8 =new person("McDonald ","Stacey ",7764987); setPtrsPers.insert(ptrP1);//занести данные в мультимножество setPtrsPers.insert(ptrP2); setPtrsPers.insert(ptrP3); setPtrsPers.insert(ptrP4); setPtrsPers.insert(ptrP5); setPtrsPers.insert(ptrP6); setPtrsPers.insert(ptrP7); setPtrsPers.insert(ptrP8); //вывести мультимножество cout <<"\n \nМножество упорядочено при создании:"; for(iter=setPtrsPers.begin(); iter != setPtrsPers.end(); iter++) (**iter).display(); iter =setPtrsPers.begin();//удалить всех while(iter !=setPtrsPers.end()) { delete *iter; //удалить сведения о персоне setPtrsPers.erase(iter++); //и указатель } cout <