【问题标题】:Input values into custom class with "<<"使用“<<”将值输入自定义类
【发布时间】:2012-03-28 09:03:25
【问题描述】:

我是 C++ 新手,我正在尝试弄清楚如何执行以下操作:

我有一个包含 QList 的类。我正在尝试填充 QList,如下所示。我想知道我将如何实现这一目标?这是在 NumberList 构造函数中完成的吗?我通常会使用获取对象列表的方法填充 myList,然后提取它们以填充 QList,但这不适用于下面的示例。

NumberList myList;
myList << 1 << 2 << 3;

【问题讨论】:

  • 如果你使用 C++11,你应该先查看初始化列表而不是使用流操作符。

标签: c++ qt qlist


【解决方案1】:

简单。

NumberList & operator<<(NumberList & lhs, number_t rhs)
{
    lhs.append(rhs);
    return lhs;
}

或者,作为一个成员函数,它看起来像这样:

NumberList & NumberList::operator<<(number_t rhs)
{
    append(rhs);
    return *this;
}

【讨论】:

  • 哦,就像“=”运算符一样,“
  • @user1255869:大多数运算符都可以重载。不过有些有限制。
  • 我在尝试编译时收到以下错误:1) “二元运算符
  • @user1255869:你让它成为会员了吗?不要那样做。或者,如果你这样做,那么只给它一个参数,因为对于成员函数,调用对象 (*this) 是隐含的第一个参数。
  • 对不起,我很困惑。在我的 .h 文件中,我有 NumberList& operator
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
  • 2014-01-05
  • 1970-01-01
  • 2020-05-15
  • 2016-05-22
  • 2019-11-02
  • 2017-10-06
相关资源
最近更新 更多