代码片段

2023-11-09

以下代码是从Stack Overflow上看到的,对于C++ virtual的特性挺有参考意义的,于是记录下来:

class A{
    public:
    void f(){
        std::cout << "A" << std::endl;
    }
};

class B : public A{
    public:
    virtual void f(){
        std::cout << "B" << std::endl;
    }
};

class C : public B{
    public:
    void f(){
        std::cout << "C" << std::endl;
    }
};

int main()
{
	C c;
    A& aref = c;
    aref.f();
    B& bref = c;
    bref.f();
	return 0;
}

运行结果是什么?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

代码片段 的相关文章

  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 使用 System.Text.Json 即时格式化 JSON 流

    我有一个未缩进的 Json 字符串 例如 hash 123 id 456 我想缩进字符串并将其序列化为 JSON 文件 天真地 我可以使用缩进字符串Newtonsoft如下 using Newtonsoft Json Linq JToken
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 在 Dynamics CRM 插件中访问电子邮件发件人地址

    我正在编写一个 Dynamics CRM 2011 插件 该插件挂钩到电子邮件实体的更新后事件 阶段 40 pipeline http msdn microsoft com en us library gg327941 aspx 并且在此阶
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 防止索引超出范围错误

    我想编写对某些条件的检查 而不必使用 try catch 并且我想避免出现 Index Out of Range 错误的可能性 if array Element 0 Object Length gt 0 array Element 1 Ob
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • 群晖NAS和绿联NAS的Docker安装odoo16社区版和企业版教程

    社区版安装 1 在群晖后台安装好docker套件 并去控制面板 终端机和SNMP打开SSH功能 绿联nas的同样进管理界面安装docker套件 绿联打开SSH方法是在设备 远程调试下面 把远程调试打开 然后就会跳出来 验证码 然后下面这一段
  • form表单传值之Form表单对象

    function check var formData new FormData formData append name input name name val formData append pid select name pid va
  • win服务器创建文件夹命令行,怎样在windows的cmd命令行下创建删除文件和文件夹...

    在window下我们往往通过 右键 gt 新建 命令来创建文件和文件夹 但有时会遇到 以点开头的文件 比如 log 这种文件用鼠标新建是新建不了的 这时我们可以在DOS下用命令行来创建 所以在这里我将平时在dos里创建文件和文件夹的方法列举
  • 为什么应该用模块取代C/C++中的头文件?

    原文地址 http www csdn net article 2012 11 28 2812274 module replace C based languages headers 本文整理自Apple C 工程师Doug Gregor的演
  • 关于“异步复位,同步复位,异步复位同步释放”的理解

    文章目录 1 异步复位 2 同步复位 3 异步复位同步释放 今天好好理一理异步复位 同步复位 以及亚稳态中的异步复位同步释放 1 异步复位 一般让复位信号低电平有效 复位信号不受时钟的控制 只要复位信号有效 那么电路就会复位 对应的写法为
  • 十五、Redis——网络模型

    目录 1 1 用户空间和内核态空间 1 2 网络模型 阻塞IO 1 3 网络模型 非阻塞IO 1 4 网络模型 IO多路复用 总结 编辑 1 5 网络模型 信号驱动IO 1 6 网络模型 异步IO 1 7 同步和异步划分 1 8 Redis
  • React根据条件渲染不同的组件

    最近在做一个电商后台管理项目 碰到了一个要根据前面的条件不同来渲染不同的组件 如下图所示 要根据商品的分类来显示不同的商品属性 最开始以为简单的使用switch来判断条件即可 但是在react组件当中 一个函数是不能返回另一个函数的 这就导
  • linux 命令之nc

    nc使用示例 端口扫描nc v w 2 192 168 2 34 z 21 24nc connect to 192 168 2 34 port 21 tcp failed Connection refusedConnection to 19
  • 数字后端基本概念介绍——Track

    今天要给大家介绍的数字后端基本概念是Track Track是指走线轨道 和row一样 可以约束走线器的走线方向 信号线通常必须走在track上 Std Cell的高度通常用metal2 track pitch来表示 常用的 std cell
  • 出租车费

    题目描述 某市出租车计价规则如下 起步4公里10元 即使你的行程没超过4公里 接下来的4公里 每公里2元 之后每公里2 4元 行程的最后一段即使不到1公里 也当作1公里计费 一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小 例
  • 关于 栈 和 队列,你还在犯迷糊吗?

    我是目录 1 队列 1 Queue 队列 2 Deque 双向队列 2 栈 从数据结构角度来看 栈 和 队列 都是一种特殊的线性结构 只是对 插入 删除 元素的方式做了限制 栈 先进后出 push pop peek 的时间复杂度都是 O 1
  • git rebase小计

    http www cnblogs com kym archive 2010 08 12 1797937 html git rebase 顾名思义 就是重新定义 re 起点 base 的作用 即重新定义分支的版本库状态 要搞清楚这个东西 要先
  • 74160同步置数法解析(以接成同步八进制计数器为例)

    我们先来看一下电路逻辑图 从中提取核心信息 将QD QC QB QA接成0010是为了配合LOAD引脚使用 以将74160的状态置为0010 计数器的最大状态为1001 当74160到达1001时 通过7400N与非门将LOAD引脚置为0
  • Linux 下安装zabbix

    一 下载安装zabbix 1 下载zabbix root localhost wget https mirrors tuna tsinghua edu cn zabbix zabbix 4 0 rhel 7 x86 64 zabbix re
  • OFFICE2016用过一段时间后正版密钥显示未激活问题

    转自百度知道 用户 kay陈健 侵删 一般出现这种问题是你电脑中先安装了一个版本的office 但是没有激活 没有将其卸载干净 然后又安装了另外一个版本的office 后者激活了 我也遇到了这个问题 目前已按如下方法解决 1 运行下面的命令
  • Arcgis 重装 的 license 问题

    1 卸载不干净 C arcgis安装目录 C ProgramData ESRI C Program Files x86 Common Files 2 注册表 删除有关Arcgis和ESRI的注册表 我是一条分割线 最后 我学会了重装系统
  • if...else; 嵌套if...else

    if else结构 如果怎么样 否则怎么样 if 分支条件 当条件满足时执行 else 当条件不满足时执行 注意 分支条件返回的一定是一个布尔类型 当分支中有且只有一行代码的时候 是可以省略大括号 gt 不推荐 和 之间不能添加任何符号 i
  • Java中 类名+方法名(){}的意思

    public class GetVersion public VersionBean get version code Context context String packagename if getPackageInfo context
  • pandoc 使用方法

    我是使用的 typora mac 版本 在下载 pandoc 完成后使用 pandoc 导出word时出现闪退情况 导致不能成功导出 然后就搜索到 pandoc 的命令行方法 以此记录下来 1 进入https pandoc org 下载 p
  • 代码片段

    以下代码是从Stack Overflow上看到的 对于C virtual的特性挺有参考意义的 于是记录下来 class A public void f std cout lt lt A lt lt std endl class B publ