自定义类:
class A
{
  public:
    A();
    ~A();
    int set(A a,int b);
  private:
    int num;
};
如何才能实现类A能继承CList的功能。

解决方案 »

  1.   

    在菜单上选择 insert->new class ->选择你的基类
    再将你学要的功能加到你新建的类里
      

  2.   


    class A :public CList<int,int>

      public: 
        A(); 
        ~A(); 
        int set(A a,int b); 
      private: 
        int num; 
    };
      

  3.   

    CList是个模板类吧?
    可以这么用
    CList <int,int&> a;
      

  4.   


    让你写的类A继承CList,如:
    class A :public CList<int,int>

      public: 
        A(); 
        ~A(); 
        int set(A a,int b); 
      private: 
        int num; 
    };
     
     
      

  5.   

    4楼帅哥,上次我问你这个问题的,你发的邮件我收到了。但是比较了一下WORKINFO的CPP和H文件,没又什么区别啊。
    所以又再次问同样的问题了。
    能不能在这里举一个具体的在MFC中的实现。
    1楼和2楼的方法我没行通。
      

  6.   

    class A :public CList<int,int>这尖括号里面的类型和类定义里面的数据类型有什么直接联系?
    我主要是想知道这两个INT或者是否可能又更多的类型?我在什么地方会用到呢?
      

  7.   


    3楼的代码编译可以通过,但是不知道怎么用在我看来CList就是一个用于建立链表的类。链表的节点可以是整数,也可以是其它类型,如下面的例子。具体请参考MSDN上CList类的帮助。CList <float,float&> g_f;
    CList <CPoint,CPoint&> g_point;... POSITION pos;

    float f=12.4f;
    g_f.AddTail(f); pos=g_f.GetHeadPosition();
    TRACE("%f\n",g_f.GetAt(pos)); CPoint pt(10,20);
    g_point.AddTail(pt); pos=g_point.GetHeadPosition();
    TRACE("x:%d,y:%d\n",g_point.GetAt(pos).x,g_point.GetAt(pos).y);
      

  8.   

    你在A中想保存什么类型的数据进CList,就把int换成那种类型啊
      

  9.   

    天资驽钝啊,大家劳神了。本帖子一定加分。
    我现在在MFC又如下实现,但是输出却又乱码,麻烦大家看看。
    WORKINFO.H
    class WORKINFO  
    {
    public:
    WORKINFO();
    WORKINFO(int i);
    virtual ~WORKINFO();
    private:
     int num;
    };
    WORKINFO.CPPWORKINFO::WORKINFO()
    {

    };
    WORKINFO::WORKINFO(int i)
    {
    num=i;
    };
    WORKINFO::~WORKINFO()
    {

    };
    CMyListDlg.cpp
    #include <afxtempl.h>
    #include "WORKINFO.h"
    CList<WORKINFO,WORKINFO&> a;
    void CMylistboxDlg::OnButton1() //向链表中添加数据
    {
    for(int i=0;i<5;i++)

    {

    a.AddTail(WORKINFO(i));
    }
    }
    void CMylistboxDlg::OnShow() //在LISTBOX显示链表中的数据
    {
            CString str;
    POSITION pos = a.GetHeadPosition(); for (int i=0;i < a.GetCount();i++)
    {
            str.Format("%s",a.GetNext(pos));
       //TRACE("%s\r\n", (LPCSTR) myList.GetNext(pos));
    m_listbox.AddString(str);//输出为乱码
    }
    }
      

  10.   

    void CMylistboxDlg::OnShow()中的str.Format("%s",a.GetNext(pos)); 
    改为str.Format("%i",a.GetNext(pos)); 
    输出也不正确。
      

  11.   

    问题已经搞定了。
    CList的成员函数返回的是对象的引用,所以在类中定义了一个GetNum()成员函数,那么改为
    str.Format("%i",a.GetNext(pos).GetNum());就正确。