如何使基类中的所有隐藏名称在派生类中可访问?

2024-02-25

从这个问题开始:

  • 从纯虚类(A)派生的指针无法访问纯类(B)的重载方法 https://stackoverflow.com/questions/59756738/pointer-derived-from-pure-virtual-classa-cant-access-overload-method-from-the

考虑这个简化的代码:

#include <string>
#include <iostream>

class Abstract
{
public:
    virtual void method(int a)
    {
        std::cout << __PRETTY_FUNCTION__ << "a: " << a << std::endl;
    }
};

class Concrete : public Abstract
{
public:
    void method(char c, std::string s)
    {
        std::cout << __PRETTY_FUNCTION__ << "c: " << c << "; s: " << s << std::endl;
    }
};

int main()
{
    Concrete c;
    c.method(42);    // error: no matching function for call to 'Concrete::method(int)'
    c.method('a', std::string("S1_1"));

    Abstract *ptr = &c;
    ptr->method(13);
    //ptr->method('b', std::string("string2"));    <- FAIL, this is not declared in Abstract.
}
  • (Try it https://godbolt.org/z/iAyqA2)

我有两个疑问。 1. 我知道如果我“导入”a 就可以解决该错误method名字来自Abstract with

using Abstract::method;

但随后我导入该名称的所有重载。是否可以仅导入给定的重载?(认为Abstract有不止一个重载,例如:)

virtual void method(int a) = 0;
virtual void method(std::string s) = 0;
  1. 是否可以导入所有(公共|受保护|所有)名称Abstract立即不将它们一一列出?

(现在假设除了method, Abstract也有:)

virtual void foo() = 0;

None

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

如何使基类中的所有隐藏名称在派生类中可访问? 的相关文章

  • 通过 SocketCAN 进行 boost::asio

    我正在考虑利用升压阿西奥 http www boost org doc libs 1 49 0 doc html boost asio html从a读取数据套接字CAN http en wikipedia org wiki SocketCA
  • 在 C/C++ 中获得正模数的最快方法

    通常在我的内部循环中 我需要以 环绕 方式索引数组 因此 例如 如果数组大小为 100 并且我的代码要求元素 2 则应该给它元素 98 高级语言 例如 Python 可以简单地使用my array index array size 但由于某
  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • VS 程序在调试模式下崩溃,但在发布模式下不崩溃?

    我正在 VS 2012 中运行以下程序来尝试 Thrust 函数查找 include cuda runtime h include device launch parameters h include
  • 我如何在 C# .NET(win7 手机)中使用“DataContractJsonSerializer”读入“嵌套”Json 文件?

    我有一个问题 如果我的 json 文件看起来像这样 Numbers 45387 Words 空间桶 我可以很好地阅读它 但是如果它看起来像这样 Main Numbers 45387 Words 空间桶 某事 数字 12345 单词 克兰斯基
  • 读取 C# 中的默认应用程序设置

    我的自定义网格控件有许多应用程序设置 在用户范围内 其中大部分是颜色设置 我有一个表单 用户可以在其中自定义这些颜色 并且我想添加一个用于恢复默认颜色设置的按钮 如何读取默认设置 例如 我有一个名为的用户设置CellBackgroundCo
  • 动态生成的控件 ID 返回为 NULL

    我可以在 Page PreInit 函数中创建动态控件 如何检索控件及其 ID 我的 C 代码用于创建动态控件之一 var btn new WebForms Button btn Text btn ID Addmore btn Click
  • 类的成员复制

    在学习 复制成员 概念时 书中给出了如下说法 此外 如果非静态成员是引用 const 或没有复制赋值的用户定义类型 则无法生成默认赋值 我不太明白这个声明到底想传达什么 或者说这个说法指的是哪一种场景 谢谢 该语句与编译器自动为您编写的类
  • 单例模式和 std::unique_ptr

    std unique ptr唯一地控制它指向的对象 因此不使用引用计数 单例确保利用引用计数只能创建一个对象 那么会std unique ptr与单例执行相同 单例确保只有一个实例属于一种类型 A unique ptr确保只有一个智能指针到
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 将标量添加到特征矩阵(向量)

    我刚刚开始使用 Eigen 库 无法理解如何向所有矩阵成员添加标量值 假设我有一个矩阵 Eigen Matrix3Xf mtx Eigen Matrix3Xf Ones 3 4 mtx mtx 1 main cxx 104 13 error
  • 使用restsharp序列化对象并将其传递给WebApi而不是序列化列表

    我有一个看起来像的视图模型 public class StoreItemViewModel public Guid ItemId get set public List
  • cout 和字符串连接

    我刚刚复习了我的 C 我尝试这样做 include
  • 每个数据库多个/单个 *.edmx 文件

    我有一个通过 ADO net 数据服务与数据库交互的项目 数据库很大 近 150 个具有依赖关系的表 该项目几年前开始 当时使用的是数据集 现在我们正在转向实体模型关系 由于我们添加了更多需要使用的表 该模型正在不断增长 这是管理这一切的正
  • 矩阵到数组 C#

    这将是转换方阵的最有效方法 例如 1 2 3 4 5 6 7 8 9 into 1 2 3 4 5 6 7 8 9 in c 我在做 int array2D new int 1 2 3 4 5 6 7 8 9 int array1D new
  • 使用 QtWebEngine 将 C++ 对象暴露给 Qt 中的 Javascript

    使用 QtWebkit 可以通过以下方式将 C 对象公开给 JavascriptQWebFrame addToJavaScriptWindowObject如中所述https stackoverflow com a 20685002 5959

随机推荐

  • Python WWW 宏

    我需要类似 iMacros for Python 的东西 如果有这样的东西那就太好了 browse to www google com type in input search query click button search list
  • Matlab FFT 和 FFTW

    我正在尝试使用 FFTW 和 Matlab 进行相同的 FFT 我使用 MEX 文件来检查 FFTW 是否良好 我认为我的一切都是正确的 但是 我从 FFTW 得到荒谬的价值观 在同一输入信号上多次运行 FFTW 代码时 我没有得到相同的结
  • 如何在单个端口上同时运行tcp和udp?

    我遇到过这样的情况 我必须一次在一个端口上运行 UDP 和 TCP 这是因为在我的应用程序中任何人都可以随时调用任何协议 所以我需要不断检查传入的请求并服务该请求 谁能帮我摆脱java中的这种情况吗 您无法检查请求是 TCP 还是 UDP
  • React-Redux-Thunk:操作不返回调度

    我正在使用 React Native 和 Redux thunk 中间件 我的问题是调度函数不返回对象 甚至不控制台 这是我的操作文件 function movieSelc movie return type types MOVIE SEL
  • Lua:特定长度的字符串

    local data here is a string local no 12 foo string format 50s 05d data no print foo len string format q foo defines foo作
  • Intellij 有时无法为对象堆保留足够的空间

    已解决 检查下面的解决方案 我使用的是 Intellij Idea 2017 2 2 以下是我的 Intellij 规格 我的 Intellij 仅偶尔会在 Maven 构建失败或 jboss 服务器启动时出现错误 Error occurr
  • 所有 css 字体属性的一个 css 声明

    将所有 css 字体属性放入一个值的正确语法是什么 body font 12px arial red 类似的东西 但具有所有选择器和属性 body font bold italic 15px 20px arial sans serif co
  • jQuery 动画滚动

    我不知道如何调用该效果 但是有人可以向我指出一个可以帮助我实现与该网站相同的效果的库吗 http www makr com http www makr com 基本上 当鼠标单击时 它会将行向上移动到页面顶部 如果没有这样的专门效果库 代码
  • Instagram api - 按主题标签获取所有照片

    我是这个 Instagram API 的新手 我阅读了他们关于端点的文档 这是我正在使用的端点 v1 tags tag name media recent access token ACCESS TOKEN 它正在获取图像 但是 仅在我的帐
  • HTML 文档中的非 HTML 标签对 SEO 不利吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 页面中包含非 HTML 标签是一种不好的做法吗 我需要将它们用于内部内容处理需求 并想知道它是否有任何问题 例如 SEO 是的 这很糟糕
  • 动态导入,不带捆绑文件

    我有一个与 Webpack 捆绑在一起的 React 项目 我有一个组件 我希望它动态渲染组件 就我而言 组件的路径来自 props 另外 这些组件没有捆绑在我的项目 js 文件中 它们是外部 React 组件 库 我尝试过动态 ES6 导
  • 除非是纯文本,否则 SVG 外来对象内容不会显示

    我正在尝试使用 SVG 绘图中的foreignObject 标签输出 HTML 我正在使用 d3 生成元素 只有当foreignObect 标签内的内容是纯文本时 foreignObject 标签内的HTML 内容才会显示 否则它只会显示为
  • ServiceStack Redis,如何以列表形式返回Lua表

    我正在使用 ServiceStack 的 Redis 客户端 我有一个 Lua 脚本 它使用多个 Redis 调用的结果填充 Lua 表 我想以某种方式返回这张表 我的想法是使用客户端库中的 ExecLuaShaAsList 方法 并在 l
  • 测试是否安装了字体

    有没有一种简单的方法 在 Net中 来测试当前计算机上是否安装了字体 string fontName Consolas float fontSize 12 using Font fontTester new Font fontName fo
  • Django Rest 框架、CSRF 和 Vue.js

    我正在尝试使用 Vue js 对我使用 Django Rest Framework 创建的 REST Api 执行一些 POST 方法 问题是 我得到了CSRF Failed CSRF token missing or incorrect
  • 惰性求值和短路求值有什么区别?

    来自维基百科 惰性评估 http en wikipedia org wiki Lazy evaluation is 在编程语言理论中 惰性求值或按需调用是 延迟表达式求值的求值策略 直到需要它的值为止 短路评估 http en wikipe
  • 从 R 的句子中提取动词?

    请注意 我知道从文本中提取名词和动词 https stackoverflow com questions 2970829 extracting nouns and verbs from text它对我不起作用 因为他们使用的功能不存在于op
  • Android HTML Jsoup

    我试图从我的拼贴新闻网站获取图像的绝对 URL 但到目前为止还没有成功 我正在这个网站上工作http www dcu ie news index shtml http www dcu ie news index shtml 正如您从源中看到
  • Angular 2 AsynPipe 不支持 Observable

    我收到以下错误 EXCEPTION Cannot find a differ supporting object object Object in files async in Images 1 9 这是模板的相关部分 img 这是我的代码
  • 如何使基类中的所有隐藏名称在派生类中可访问?

    从这个问题开始 从纯虚类 A 派生的指针无法访问纯类 B 的重载方法 https stackoverflow com questions 59756738 pointer derived from pure virtual classa c