首页| 论坛| 消息
主题:《Qt设计模式》一书中一个疑问
whr4935发表于 2014-05-18 21:04
英文版的201页,Example 6.27的 argumentlist.cpp中的一个成员函数如下:void ArgumentList::argsToStringList(int argc, char *argv[])
{
for (int i = 0; i < argc; ++i) {
*this += argv[i];
}
}*this 为ArgumentList类型,它继承自QStringList类型,argv为 char*类型,但是,为什么他们可以直接用 += 赋值?
QStringList类型可以还是好理解,它重载了+=操作符,难道因为ArgumentList类型是继承自QSringList类型,它就也
可以这样用 += 赋值了?
回帖(3):
3楼:谢谢二位的回答,这里的 += 确实是QList重载的,开始疑惑在*this是ArgumentList类型的,觉得会类 ..
2楼:QList &operator+=(const QList & other)
QList &operator+=(const T & val ..
1楼:QStringList 的operator+= 继承于QList,它的属性是public的,所以你的ArgumentList的Operator+= ..

全部回帖(3)»
最新回帖
收藏本帖
发新帖