class CPoint
{
    int x;
    int y;
    int z;
}class PointList:CList<CPoint*,CPoint*>
{

    //寻找指定X值的点  
    findXPoint(double u);    //寻找指定y值点在链表中的位置
    GetYPointPos(double u);         
}想做一个链表,这个链表中存储的是Point点对象,
但有一些特殊的操作,想做成函数,这样行不行它同时基于MFC的CList类和自己定义的类CPoint,选 Generic类吗?

解决方案 »

  1.   

    CList好像不能被重载吧
    一般的写法是这样:typedef CList<CPoint, CPoint> CPointList;
    // 其实这个链表就已经能够满足需要了class YouClass
    {
    protected:    
        CPointList m_listPoint;public:
        void YouFunction();
    }
      

  2.   

    void CPointTempDlg::OnOK() 
    {
        UpdateData(TRUE);
        
    CPt* Point = NULL; Point->m_dX = m_dX;
    Point->m_dY = m_dY;
    Point->m_dZ = m_dZ; m_List.AddTail(Point);//error

    CDialog::OnOK();
    }有个error
    error C2248: 'AddTail' : cannot access public member declared in class 'CList<class CPt *,class CPt *>'
      

  3.   

    CList好像不能被重载吧!
    一般的写法是这样:typedef CList<CPoint, CPoint> CPointList;
      

  4.   

    自己慢慢反省吧~~~BTW:
    CPt* Point = NULL;Point->m_dX = m_dX;
    Point->m_dY = m_dY;
    Point->m_dZ = m_dZ;怎么能够这样赋值???? 好晕~~~
      

  5.   

    CPt* Point = NULL;Point->m_dX = m_dX;
    Point->m_dY = m_dY;
    Point->m_dZ = m_dZ;m_dX,m_dY,m_dY是public