sleep_i_like 2022-07-06 15:14 采纳率: 97.6%
浏览 29
已结题

c++有关类使用的一个问题

一个类这样写所涉及到哪些知识点,如果我要完全看明白需要学习哪些知识

构造函数中这样写:

ParaParser::ParaParser()
{                            
    m_handles.push_back(new ShowVersionParaHandler());
    m_handles.push_back(new SFtpsParaHandler());
}

使用场景:

bool ParaParser::Handle(const std::map<std::string, std::string>& paras)
{
    map<string, string> updateParas;
    for (std::vector<ParaHandler*>::iterator it = m_handles.begin(); it != m_handles.end(); ++it)
    {
        if ((*it != NULL) && (*it)->IsMatch(paras))
        {
            if ((*it)->Check(paras, updateParas) && (*it)->Handle(updateParas))
            {
                return true;
            }
        }
    }

    cout << "Parameter error." << endl;
    return false;
}

我大概明白这样写的目的是循环匹配
类ShowVersionParaHandler()和 类SFtpsParaHandler()中的IsMatch()方法、Check()方法、和Handle()方法
但是心中还是比较模糊,所以想学习一下其中的知识点和思想。

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-07-06 15:28
    关注

    知识点:map是映射,vector是动态数组
    ParaHander是基类,ShowVersionParaHandler和SFtpsParaHandler都是它的子类
    动态数组m_handles记录基类指针
    用for循环进行遍历

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 7月6日