【发布时间】:2011-02-10 06:40:51
【问题描述】:
我正在尝试为存储数据的类创建更有用的调试消息。我的代码看起来像这样
#include <QAbstractTableModel>
#include <QDebug>
/**
* Model for storing data.
*/
class DataModel : public QAbstractTableModel {
// for debugging purposes
friend QDebug operator<< (QDebug d, const DataModel &model);
//other stuff
};
/**
* Overloading operator for debugging purposes
*/
QDebug operator<< (QDebug d, const DataModel &model) {
d << "Hello world!";
return d;
}
我希望qDebug() << model 会打印“Hello world!”。但是,输出中总会出现类似“QAbstractTableModel(0x1c7e520)”的内容。
你知道哪里出了问题吗?
【问题讨论】:
-
1.看起来 Qt 希望流操作符是:QDebug operatordoc.trolltech.com/4.6/… 2. 你已经声明它像:friend QDebug & operator
标签: c++ qt4 operator-overloading