1.概述
  • 虚方法通过动态方法查找,能够实现,多个子类句柄指向子类对象,调用display,子类的display。

t是父类句柄,wr是子类句柄。把子类赋值给父类之后,父类t调用的方法仍是父类的方法,而不是子类的方法。实际上应该调用子类的方法,因此需要在父类的方法中将方法声明为virtual,t会执行子类的方法。

2.虚函数的调用
  • 给父类方法加上virtual,那么t也会像wr一样执行子类的方法。
加了给父类的方法加了virtual后,不用担心使用的是父类还是子类的方法,最终都会执行子类方法。动态方法查找,会先查找子类中是否有同名的方法,子类中没有的话就执行父类中的该名字方法,子类中有就执行子类中的同名方法。


3.建议
答案:A。
C错误是因为父类方法不可以找到子类对象方法中的变量。虚方法解决的是父类句柄指向子类句柄中同名方法的动态查找问题,不能解决父类句柄要找子类对象中的变量。
D错误是要所有参数和类型一样,因为这是继承。

SV精通7-②虚方法相关推荐

  1. SV 类的虚方法 多态

    SV 类的虚方法 多态 类型转换 概述 概述 类的成员方法可以加修饰词virtual(虚方法) 虚方法是一种基本的多态结构 一个虚方法可以覆盖基类的同名方法 在父类和子类中声明虚方法,其方法名.参数名 ...

  2. 虚方法——systemverilog,SV

    引言 类的继承是继承父类的成员变量和成员方法.默认情况下,子类覆盖的方法并不会继承父类的同名方法,只有通过super.method()的方式显式执行,才会达到继承父类方法的效果. 默认情况下,子类中重 ...

  3. 线程同步,通信与虚方法

    线程同步,通信与虚方法 目录 线程同步,通信与虚方法 进程同步,通信 事件event 旗语semaphore 信箱mailbox 虚方法 实例理解 将子类句柄赋值成父类句柄 将父类句柄赋值成子类句柄 ...

  4. System Verilog——虚方法的使用

    本文参考绿皮书8.3 System Verilog--虚方法的使用 使用虚方法目的 实例理解 将子类句柄赋值成父类句柄 将父类句柄赋值成子类句柄 使用系统函数$cast() 结论 附录 所使用的仿真代 ...

  5. C++:随笔6---new\delete\虚方法\抽象方法

    指针是一种专门用来存储内存地址的数据类型.(他存储的不是具体的数据而是别人的地址) 常用做法是:创建一个变量,再把这个变量的地址赋值给一个指针,然后就可以用指针去访问这个变量的值. 事实上在C和C++ ...

  6. 虚方法的调用是怎么实现的(单继承VS多继承)

    我们知道通过一个指向之类的父类指针可以调用子类的虚方法,因为子类的方法会覆盖父类同样的方法,通过这个指针可以找到对象实例的地址,通过实例的地址可以找到指向对应方法表的指针,而通过这个方法的名字就可以确 ...

  7. C#面向对象(四)虚方法实现多态

    一.虚方法实现多态 1,创建一个people基类 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  8. 虚方法、重写方法和抽象方法[转载]

    若一个实例方法的声明中含有 virtual 修饰符,则称该方法为虚方法 (virtual method).若其中没有 virtual 修饰符,则称该方法为非虚方法 (non-virtual metho ...

  9. 抽象类,虚方法,接口

    这三样很多人容易混淆,在此总结一下 1. 虚方法 Virtual 基类中定义了虚方法,派生类中可以实现,也可以不实现,因为虚方法是有方法体的,如果要实现,派生类中用override重写该方法. pub ...

最新文章

  1. 微信小程序把玩(三十五)Video API
  2. AI算法透明不是必须,黑箱和可解释性可简化为优化问题
  3. ubuntu 在 rc.local 里添加了命令为什么无法执行
  4. Selenium3自动化测试——16. 处理HTML5视频播放
  5. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板定义
  6. 用Docker自动构建纸壳CMS
  7. leetcode 面试题 17.21. 直方图的水量(单调栈)
  8. 2019年python黑马_决心在2019年让Python成为您的朋友
  9. 我的docker随笔32:sftp服务部署
  10. 零基础开始学 Web 前端开发,有什么建议?(视频教程)
  11. NVMe驱动学习记录-1
  12. 计算机无法选择字体,电脑系统字体缺失怎么办
  13. 《SAP快速入门》视频课程
  14. 主流数据库/国产数据库有哪些 如何适配国产数据库
  15. Python 标准库 API参考文档
  16. 【yishen】黑苹果 声卡驱动
  17. 遗补:“预防‘磁碟机’病毒”
  18. Correct way to wait for VBLANK on windows 10 in windowed mode
  19. ubuntu 运行c语言文件路径,ubuntu上解压目录里的文件到指定文件夹
  20. 暖火柴打一数字_火柴里的天堂

热门文章

  1. 股市学习稳扎稳打(九)交易的核心之仓位控制
  2. Vscode+Latex 添加引用文献及自动刷新
  3. 产品经理须知:机会成本和沉没成本
  4. 这才是计算机科学_网络
  5. mat opencv 修改roi_OpenCV Android:在新Mat中定义并保存ROI(OpenCV Android: Define and save ROI in new Mat)...
  6. 游戏中的网络同步机制——Lockstep(帧同步)
  7. 反编译微信小程序 亲测成功 补充解决常见问题 (详细最新教程)
  8. WIN7笔记本电脑的语言栏不显示?
  9. 区块链是供应链金融的一剂良药吗?
  10. 科学计算机怎么直接显示10的多少次方,3的几次方等于10 怎么算 log及科学计算器里的其它 函数怎么正确输入...