小编MrE*_*mar的帖子

如何重载operator <<

我试着operator <<在Qt中超载.

class MyCryptographicHash : public QCryptographicHash
{
public:
    MyCryptographicHash(Algorithm method);

    void addData(const QString &data );

    friend MyCryptographicHash& operator<< (MyCryptographicHash &obj, const QString &value);

private:
    QByteArray _data;
};

MyCryptographicHash& operator<<(MyCryptographicHash &obj, const QString &value) {
    obj.addData(value);
    return obj;
}


    MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    MyCryptographicHash *hash1 = new MyCryptographicHash(QCryptographicHash::Sha1);
    MyCryptographicHash *hash2 = new MyCryptographicHash(QCryptographicHash::Sha1);
    hash1->addData("abc1234");
    QString a;
    a = "qweer321";
    hash2<<a;
    qDebug() << "HASH1: " << hash1->result();
    qDebug() << "HASH2: " << hash2->result();
}
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

no match for …
Run Code Online (Sandbox Code Playgroud)

c++ windows qt operator-overloading operators

1
推荐指数
1
解决办法
495
查看次数

标签 统计

c++ ×1

operator-overloading ×1

operators ×1

qt ×1

windows ×1