- 重载关系
- 同一作用域中,函数名相同,参数表不同的函数
- 只有同一作用域中的同名函数才涉及重载问题,不
同作用域中同名函数遵循标识符隐藏原则
#include <QtCore/QCoreApplication>
#include <QList>
#include <QDebug>
#include <QString>
//防止中文乱码
#pragma execution_character_set("utf-8") #include <QString>
//函数名相同,参数表不同的函数
namespace s1 {void print() {qDebug() << "s1的 print()";}
}namespace s2 {void print(int num) {qDebug() << "s2的 print(int num)";}
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);using namespace s1;using namespace s2;print();print(1);using s1::print;print();//不能调用s2的方法//print(1);return a.exec();
}
• 重载解析
– 完全匹配>常量转换>升级转换>标准转换>自定义
转换>省略号匹配
• 函数指针的类型决定其匹配的重载版本