- 重载关系
- 同一作用域中,函数名相同,参数表不同的函数
- 只有同一作用域中的同名函数才涉及重载问题,不
同作用域中同名函数遵循标识符隐藏原则
#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();
}
• 重载解析
– 完全匹配>常量转换>升级转换>标准转换>自定义
转换>省略号匹配
• 函数指针的类型决定其匹配的重载版本