C++的重载

打印 上一主题 下一主题

主题 971|帖子 971|积分 2913


  • 重载关系

    • 同一作用域中,函数名雷同,参数表不同的函数
    • 只有同一作用域中的同名函数才涉及重载问题,不
      同作用域中同名函数遵循标识符隐蔽原则

  1. #include <QtCore/QCoreApplication>
  2. #include <QList>
  3. #include <QDebug>
  4. #include <QString>
  5. //防止中文乱码
  6. #pragma execution_character_set("utf-8")
  7. #include <QString>
  8. //函数名相同,参数表不同的函数
  9. namespace s1 {
  10.         void print() {
  11.                 qDebug() << "s1的 print()";
  12.         }
  13. }
  14. namespace s2 {
  15.         void print(int num) {
  16.                 qDebug() << "s2的 print(int num)";
  17.         }
  18. }
  19. int main(int argc, char *argv[])
  20. {
  21.         QCoreApplication a(argc, argv);
  22.         using namespace s1;
  23.         using namespace s2;
  24.         print();
  25.         print(1);
  26.         using s1::print;
  27.         print();
  28.         //不能调用s2的方法
  29.         //print(1);
  30.         return a.exec();
  31. }
复制代码

• 重载解析
– 完全匹配>常量转换>升级转换>标准转换>自定义
转换>省略号匹配
• 函数指针的范例决定其匹配的重载版本

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

花瓣小跑

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表