集合类 CList的使用

集合类 CList的使用

  今天,在项目中,需要使用集合类,考虑到使用简单、方便,所以选择了CList。可没想到在使用的过程中却出现了学多问题。
  1.无法实现集合类的复制,需要重载类的=运算符;错误提示为无法从FunListNode 转换到FunListNode;
  2.没有可用的复制构着函数;
  3.没有默认的可用的构着函数
  4.注释中1 2 3都是必须的
 
typedef  CList<CString, CString> CStrList; //CTypedPtrList
class FunListNode : public CObject
{
    //DECLARE_SERIAL(FunListNode)
public:
    FunListNode(){}                                  //  1

public:
    CString  strFunName;                             // 函数名
    CStrList *listCalledFunName;                // 在这个函数中被调用的其他函数名列表

    FunListNode& operator = (FunListNode& data)      // 2
    {
       //防止自身赋值
        if(&data == this)
        {
            return *this;
        }
        strFunName = data.strFunName;
        listCalledFunName = data.listCalledFunName;
        return *this;
    }

    FunListNode(const FunListNode &data)             //3
    {
        strFunName = data.strFunName;
        listCalledFunName = data.listCalledFunName;
    }
    //virtual void Serialize(CArchive& ar);
};
CList<FunListNode , FunListNode &> m_lstFunList;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值