1 class X
 2 {
 3     X()
 4     {
 5         System.out.println("x");            //
 6         vir(44);                            //看到vir会先搜索子类中的vir是否存在,如果不存在再调用父类中的vir
 7     }
 8
 9     public  void vir(int x)
10     {
11         System.out.println("X VIR");
12     }
13 }
14  class Z extends X{
15
16
17     public void vir(int y3333)
18     {
19         System.out.println("Z VIR");
20     }
21     Z()
22     {
23         System.out.println("z");            //
24         vir(44);
25     }
26
27      public static void main(String[] args)
28     {
29         // TODO Auto-generated method stub
30         X aa=new Z();
31         aa.vir(3);
32
33     }
34
35 }

View Code

构造函数调用虚函数先从子类搜索同名函数相关推荐

  1. 构造函数调用虚函数的问题

    一般情况下,不允许在构造函数或者析构函数中调用虚函数.其实语法上都没有问题,只是会失去多态性. 如果在构造函数中调用虚函数,会先调用父类中的实现,也就失去了多态的性质. class A {public ...

  2. C++构造函数调用虚函数的后果

    #include <iostream>class cx { public:virtual void func() {std::cout << "func" ...

  3. 子类隐藏父类的同名函数

    在C++中,子类是不能重载父类函数的,因为重载只发生在同一个类中. 所以在不考虑虚函数重写的情况下,子类中所有的同名函数(仅仅是与父类的函数名称相同),都会导致父类的同名函数被隐藏. 见代码: #in ...

  4. c++继承父类的子类,如何调用父类的同名函数?

    https://blog.csdn.net/qq_26399665/article/details/52080215 子类调用父类的同名函数: 子类和父类返回值参数相同,函数名相同,有virtual关 ...

  5. 继承- 子类与父类有同名函数,变量

    学习了类的继承,今天说一下当父类与子类中有同名函数和变量时那么程序将怎么执行.首先明确当基类和子类有同名函数或者变量时,子类依然从父类继承. 举例说明: 例程说明: 父类和子类有同名的成员 data: ...

  6. C#通过函数名字符串执行相应的函数

    如果代码中函数过多,那么通过函数名字符串执行相应的函数会更加方便,也会使代码更为简单. 在C#中,通过函数名字符串执行相应的函数这项功能是在System. Reflection命名空间中实现的,使用的 ...

  7. C++构造函数和析构函数调用虚函数时都不会使用动态联编

    先看一个例子: #include <iostream> using namespace std;class A{ public:A() {show();}virtual void show ...

  8. Effective C++(9) 构造函数调用virtual函数会发生什么

    问题聚焦: 不要在构造函数和析构函数中调用virtual函数,因为这样的调用不会带来你预想的结果. 让我先来看一下在构造函数里调用一个virtual函数会发生什么结果 Demo class Trans ...

  9. 一文读懂C#中的抽象类、抽象方法、virtual虚函数、override重写函数及父类子类构造函数和析构函数的执行顺序

    // 父类 class People {public People(){Console.WriteLine("执行People构造函数!");}public virtual voi ...

最新文章

  1. exec函数族的使用
  2. mysql udf介绍_教你写MySQL UDF
  3. 深度之眼课程打卡-python入门05
  4. Web前端技术知识:为什么要进行网站重构呢?
  5. C#中对注册表的操作指南
  6. java最小子串覆盖_LeetCode 76. 最小覆盖子串
  7. ELK --- Grok正则过滤Linux系统登录日志
  8. WPF MVVM 网易云音乐
  9. mysql中间件研究(tddl atlas cobar sharding-jdbc)
  10. 关于数学建模竞赛经历
  11. ArcGIS和Fragstats的脚本化调用 ------以ArcPy和命令行的方式
  12. 游戏陪玩小程序开发制作
  13. 2020年11月最新互联网大厂面试经验分享【网易、阿里、腾讯、京东、百度、爱奇艺、字节、小米、美团、搜狐、58】
  14. 1155 服务器芯片组,2014年主流主板芯片组分析
  15. 用html做自我介绍
  16. linux命令scp和sftp
  17. 如何在Power BI Desktop中创建词云生成器
  18. Linux下clock_gettime函数详解
  19. win10系统mongodb 5.0安装配置+自动启动
  20. Android APT(编译时代码生成)最佳实践

热门文章

  1. 记者因报道大厂负面遭遇死亡威胁,幕后黑手被判入狱18个月
  2. 所有的编程语言知识,都包含在这100张思维导图里了丨GitHub 13.1k星
  3. NeurIPS 2019最佳论文出炉,今年增设“新方向奖”,微软华人学者获经典论文奖...
  4. 20项任务横扫BERT!CMU谷歌发布XLNet,NLP再迎屠榜时刻
  5. hadoop HA集群搭建(亲测)
  6. 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版
  7. Hadoop搭建完全分布式
  8. Error:java: Compilation failed: internal java compiler
  9. 世界在音乐中得到了完整的再现和表达。
  10. python类中self是什么