浅谈C++继承中的名字查找

 更新时间:2017年01月10日 09:54:55   投稿:jingxian  
下面小编就为大家带来一篇浅谈C++继承中的名字查找。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

实例如下:

#include<iostream>
#include<string>
using namespace std;
class Base {
 public:
 void func() {
  cout << "func() in Base." << endl;
 }
 void func(int a) {
  cout << "func(int a) in Base." << endl;
 }
 void func(string s) {
  cout << "func(string s) in Base." << endl;
 }
};


class Derived : public Base { 
public:
 //using Base::func;
 void print() {
  cout << "func() in Derived." << endl;
 }
};


int main() {
 Derived d;
 d.Base::func();//指定基类版本
 d.func();
 d.func(12);//error,可在派生类中添加using Base::print;
 d.func("abc");//error,可在派生类中添加using Base::print;
 system("pause");
 return 0;
}
//一个对象,引用,指针的静态类型决定了该对象哪些成员可见。
//派生类作用域嵌套在基类作用域中
//派生类成员将屏蔽同名的基类成员
//如果派生类想通过自身类型使用的基类中重载版本,则派生类必须要么覆盖所有重载版本,要么一个也不覆盖。
//利用using声明可把基类中的所有重载版本都添加到派生类作用域中
//名字查找先于类型检查,如果在派生类中找到了调用的函数名,则不会继续向上查找,接着进行类型检查

以上这篇浅谈C++继承中的名字查找就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言的随机数rand()函数详解

    C语言的随机数rand()函数详解

    这篇文章主要为大家详细介绍了C语言的随机数rand()函数,使用数据库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 一文详解C语言中的switch语句和while循环

    一文详解C语言中的switch语句和while循环

    这篇文章主要给大家详细介绍了C语言中的switch语句和while循环,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-12-12
  • 关于C/C++中static关键字的作用总结

    关于C/C++中static关键字的作用总结

    以下是对C/C++中static关键字的作用进行了总结介绍,需要的朋友可以过来参考下
    2013-09-09
  • C语言编程之扫雷小游戏空白展开算法优化

    C语言编程之扫雷小游戏空白展开算法优化

    扫雷是电脑上很经典的游戏,特意去网上玩了一会,几次调试之后,发现这个比三子棋要复杂一些,尤其是空白展开算法上和堵截玩家有的一拼,与实际游戏差别较大,不能使用光标,下面来详解每一步分析
    2021-09-09
  • C语言编程简单却重要的数据结构顺序表全面讲解

    C语言编程简单却重要的数据结构顺序表全面讲解

    这篇文章主要为大家介绍了C语言编程中非常简单却又非常重要的数据结构顺序表的全面讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • C++零基础精通数据结构之带头双向循环链表

    C++零基础精通数据结构之带头双向循环链表

    带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单
    2022-03-03
  • C++中继承基类与派生类的区别

    C++中继承基类与派生类的区别

    这篇文章主要介绍了C++中继承基类与派生类的区别,面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易,需要的朋友可以参考下
    2023-05-05
  • QT实现动态时钟

    QT实现动态时钟

    这篇文章主要为大家详细介绍了QT实现动态时钟,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 解决Devc++运行窗口中文乱码的实现步骤

    解决Devc++运行窗口中文乱码的实现步骤

    本文主要介绍了如何解决Devc++运行窗口中文乱码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 详析C++中的auto

    详析C++中的auto

    这篇文章主要介绍了详析C++中的auto,auto是具有自动存储器的局部变量,C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而作为一个新的类型指示符来指示编译器,下面来看看文章的详细介绍吧
    2022-01-01

最新评论