C++:如何从外部调用父类函数

2024-02-01

I have:

class A{
    public:
        virtual void foo();
};

class B : public A{
    public:
        void foo();
};

B *ptr = new B();

我想给A打电话foo()直接使用“ptr”指针。

当我尝试时

(A*)ptr->foo();

它仍然调用 B 的版本foo()。我该如何调用 A 的版本呢?

这可能吗?有哪些替代方案?谢谢。


当您使用以下名称命名函数时::范围解析形式,您可以调用命名函数,就好像它不是虚拟的一样。

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

C++:如何从外部调用父类函数 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi

随机推荐

  • 自动映射器更新现有对象而不是创建新对象[重复]

    这个问题在这里已经有答案了 有什么办法可以使用吗自动映射器5 1 1更新现有对象而不是创建新对象 例如我们有一个Customer实体和一个CustomerViewModel 我们想更新现有的Customer与CustomerViewMode
  • 如何在 PHP 中通过 GET 请求传递输入名称

    我正在 PHP OOP 中构建一个网站 CMS 在这个 CMS 中 基本上有一个选项可供网站管理员更新其导航菜单项 所以它基本上看起来像这样 打印屏幕 https i stack imgur com UH1SG png 其代码如下
  • Chrome 扩展:Javascript 能否拦截文件下载并解析数据

    我正在编写一个 Chrome 扩展来自动执行我的一项日常任务 该任务的一部分是下载 csv 文件并操作数据 作为自动化的一部分 我想用 Javascript 抓取文件并让脚本操作它 问题是使用 XMLHttpRequest 获取此文件将是一
  • 如何在 SwiftUI 中为按钮创建触觉反馈

    我正在尝试在 SwiftUI 中点击按钮时实现触觉反馈 因此我尝试使用synchronousGesture 但我仍然在挣扎 我无法弄清楚水龙头何时开始 另外 Swift UI 没有实现触觉反馈 所以我想我会从 UIKit 中将它混合起来 我
  • 按两个条件分组的多个箱线图

    我在单个图中制作多个箱线图时遇到了真正的麻烦 我有五个变量 其中三个是数字 两个是因子 我想要所有三个数值变量的箱线图 但按两个因子变量分组 该图应有两组 分别为低和高 三个框为 MM ND 和 BB 图例应包含 MM ND 和 BB 的缩
  • 在pymongo中使用explain("executionStats")进行查询

    我的请求有问题 包括explain 例如 以下请求效果很好 pp pprint col find cuisine Italian name 1 address zipcode 1 address coord 1 explain 的项目清单e
  • 如何使用Jetpack compose实现交错网格布局?

    据我所知 我们只能使用Rows and Columns in Jetpack Compose显示列表 如何实现如下图所示的交错网格布局 它的正常实现使用Recyclerview交错网格布局管理器非常简单 但如何在 Jetpack Compo
  • clickhouse 将采样缩减为 OHLC 时间条间隔

    对于一张桌子 例如包含日期 价格时间序列 每个价格例如毫秒 如何将其下采样为具有时间间隔的开高低收 ohlc 行组 例如分钟 虽然使用数组的选项可以工作 但这里最简单的选项是使用按时间间隔分组的组合min max argMin argMax
  • 相当于 Akka,但适用于 .NET(并发框架)

    有没有相当于Akka http akka io 但对于 NET http doc akka io use cases http doc akka io use cases 这是 我的 正在进行的 NET Akka actor 端口 编辑 该
  • 如何使用 jquery 检查选​​择元素是否仍然“打开”/活动

    无论如何 我是否可以通过 jQuery 检测选择表单元素当前是否处于活动状态 我创建了这个小提琴来演示这个问题 http jsfiddle net E2PhT 2 http jsfiddle net E2PhT 2 当您将鼠标悬停在 搜索
  • 如何使用 PostgreSQL 计数估计来加速 Django 的管理页面?

    众所周知 当数据库表有很多行时 Django 的管理列表视图会变得相当慢 这是因为 Django 分页器默认使用 慢 PostgreSQLCOUNT query 因为估计对我们来说很好 而且速度要快得多 例如 SELECT reltuple
  • 如何在 OpenCV 中将轮廓分割为开放弧

    I have the image below and I need to split the contour to create various 30 degrees arc which I then need to fit a circl
  • 来自未知来源的 MPI 接收

    我正在 MPI 中实现一个程序 其中主进程 等级 0 应该能够接收来自其他进程的请求 这些进程要求只有根才知道的变量值 如果我按等级 0 进行 MPI Recv 我必须指定向根发送请求的进程的等级 但我无法控制它 因为进程不按顺序运行 1
  • 即使设置为原始值,angular2 formcontrol 仍保持脏状态

    当我更改输入字段中的值时 相应的表单控件将设置为脏 当我恢复更改 通过在输入字段中键入 时 表单控件保持脏状态 这是有意为之 这是一个错误还是我做错了什么 嗯 是的 它本来就是这样工作的 因为 一个控制是dirty如果用户已经改变UI 中的
  • java中@符号是什么意思?

    我知道它在出于文档目的的评论中意味着什么 但除此之外它意味着什么 我通常会用谷歌搜索这个 但每个非字母符号都会出现在结果中 The 符号表示 Java 注释 Java 注释的作用是向变量 方法 类 接口或其他语言元素添加特殊属性 这可以在声
  • ActiveRecord 迁移中序列化列的默认值

    所以我有一个序列化列 dimensions 在我的迁移中 我想将该字段设置为默认哈希 我努力了 create table shipping profiles do t t string dimensions in default gt wi
  • 默认情况下,stdout 行是缓冲的、无缓冲的还是不确定的?

    Section 7 19 3 7 of c99指出 在程序启动时 预定义了三个文本流 无需显式打开 标准输入 用于读取常规输入 标准输出 用于写入常规输出 和标准错误 用于写入诊断输出 最初打开时 标准错误流未完全缓冲 当且仅当可以确定标准
  • JObject.Parse 修改浮点值的结尾

    var clientString max 1214 704958677686 JObject o JObject Parse clientString var jsonString o ToString jsonString 的内容 max
  • C++ 重构 - 将方法移至实现文件

    我有很多头文件 里面有很长的方法实现 有没有一种自动的方法来做到这一点 一个接一个可能会花费很多时间 Thanks 如果您使用的是 Visual Studio 有一个名为视觉辅助 http www wholetomato com 这可以帮助
  • C++:如何从外部调用父类函数

    I have class A public virtual void foo class B public A public void foo B ptr new B 我想给A打电话foo 直接使用 ptr 指针 当我尝试时 A ptr g