对[]进行重载,里面是一个字符串 各位,这个怎么弄

有点急,能帮我看看吗,真的不会,哭si
能力有限,需要各位的帮助,我又不知道在上面怎么找,help,help

img

img

img

class Friend
{
public:
Friend(const std::string& name, const std::string& gender, const std::string& constellation, int age)
:m_name(name), m_gender(gender), m_constellation(constellation), m_age(age)
{}

std::string operator[](const std::string & str)
{
  if (0 == str.compare("name"))
    return this->m_name;
  else if (0 == str.compare("gender"))
    return this->m_gender;
  else if (0 == str.compare("constellation")
    return this->constellation;
  else if (0 == str.compare("age")
    return std::to_string(m_age);
  else 
    return std::string();
}