Teman2,
Saya ada masalah nih, saya kesulitan untuk melakukan sorting list of pointer,
seperti code dibawah.
apa yang harus saya lakukan supaya l.sort() menghasilkan output terurut, yaitu:
2000.0, 3000.0, dan 4000.0
Atas bantuannya saya mengucapkan terimakasih
#include <stdlib.h>
#include <stdio.h>
#include <list>
class CData
{
public:
float m_price;
long m_vol;
public:
CData(float p, long v): m_price(p), m_vol(v){}
~CData(){}
};
typedef std::list<CData*> data_list_t;
int main()
{
CData* p1 = new CData(3000.0f, 10);
CData* p2 = new CData(2000.0f, 10);
CData* p3 = new CData(4000.0f, 10);
data_list_t l;
l.push_back(p1);
l.push_back(p2);
l.push_back(p3);
print_list(&l);
l.sort(cs); //??
print_list(&l);
delete p1;
delete p2;
delete p3;
return 0;
}
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis