Как сортировать carray класса
// Consider below class class CAnimalData { public: CAnimalData(int id, CString text) { m_id = id; m_text = text; } int m_id; CString m_text; }; //lets create an array of class typedef CArray <CAnimalData, CAnimalData&> RADARDATACONTAINER; //create object of array RADARDATACONTAINER objContainer //Now lets say we create 4 objects of class CAnimalData and keep storing all objects in CArray CAnimalData data1 ( 0, "Simple") objContainer.SetAtGrow(data1.m_id, dataBool); CAnimalData data2 ( 1, "Cat") objContainer.SetAtGrow(data2.m_id, dataBool); CAnimalData data3 2, "Aargalis") objContainer.SetAtGrow(data3.m_id, dataBool); CAnimalData data4 ( 3, "Dog") objContainer.SetAtGrow(data4.m_id, dataBool); store all objects in RADARDATACONTAINER. The class had two variables, please consider below values. m_id m_text 0 Simple 1 Cat 2 Aargalis 3 Dog Now I want to sort the CArray by m_text ( not by m_id), so below code should give me result in alphabetical order , how can I sort CArray? CAnimalData dataStore; iUBound = objContainer.GetUpperBound(); for(int i = 0; i <= iUBound; i++) { dataStore = objContainer.GetAt(i); Cout<< dataStore.m_id << " " << dataStore.m_text; } I see below output: 0 Simple 1 Cat 2 Aargalis 3 Dog But I need below output: ( sorting based on text) 2 Aargalis 1 Cat 3 Dog 0 Simple Can anybody help me on this?
Что я уже пробовал:
пробовал, но не получилось, не уверен, что есть готовая функция, доступная в классе CArray.
Будет здорово, если кто-нибудь сможет мне здесь помочь
joyjhonson
Обратите внимание , что после заполнения значений в объекте Carray я хочу отсортировать их на основе m_text.