构造函数不能是虚拟的

2024-04-06

在其中之一互联网上的 C++ 教程 http://www.bogotobogo.com/cplusplus/constructor.php,我发现了下面关于为什么构造函数不能是虚拟的描述

我们不能声明虚拟构造函数。我们应该指定准确的 编译时对象的类型,以便编译器可以分配 该特定类型的内存。

这个描述正确吗?

我尤其对这句话感到困惑:so that the compiler can allocate memory for that specific type.


正如 Bjarne 本人在他的书中所解释的那样C++ 风格和技术常见问题解答 //www.stroustrup.com/bs_faq2.html#virtual-ctor:

虚拟调用是一种在给定部分信息的情况下完成工作的机制。特别是,“虚拟”允许我们调用只知道接口而不知道对象的确切类型的函数。要创建对象,您需要完整的信息。特别是,您需要知道您想要创建的确切类型。因此,“对构造函数的调用”不能是虚拟的。

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

构造函数不能是虚拟的 的相关文章

随机推荐

  • 将命令的 stderr 从构建任务传递到 Azure DevOps

    我有一个 VSTS Azure DevOps 版本 其中包含电源外壳 or a 命令行任务 该任务正在运行一些程序 program exe When program exe返回非零退出代码 构建按预期失败 program exe还打印详细的
  • NSString unicode编码问题

    我在将字符串转换为可读的内容时遇到问题 我在用着 NSString substring NSString stringWithUTF8String symbol data cStringUsingEncoding NSUTF8StringE
  • 我可以在 iPhone 的网络浏览器上运行嵌入网页的 Java Applet 吗?

    我可以在 iPhone 上运行嵌入 或 HTML 标记中的 Java 小程序吗 我的意思不是作为一个应用程序 而是实际上通过它的浏览器 不 正如史蒂夫 乔布斯在 2007 年接受采访时回答的那样 Java 不值得构建 没有人再使用 Java
  • 这个属性的作用是什么:MethodImplOptions.NoInlined(或者:什么是“内联”方法)[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的内联函数 https stackoverflow com questions 473782 inline functions in c 什么是方法内联 https stackoverflow
  • Spark时间戳差异

    我正在尝试在 Spark 中进行时间戳差异 但它没有按预期工作 下面是我正在尝试的方法 import org apache spark sql functions df df withColumn TimeStampDiff from un
  • Bootstrap 4 .nav-link 填充

    我想删除第一个的左侧填充 nav link in navbar nav 这是一个example https i stack imgur com m3XK7 png 在 bootstrap 4 中 我创建了一个导航并给了填充 nav link
  • 比较两个托管引用

    是否可以比较两个托管引用 类型为ref T 如果它们相等 我的意思不是对对象的引用 而是对变量的引用 例子 public static bool Compare ref int a ref int b return ref a ref b
  • 使用 YAML 转储 unicode

    我正在从 csv 创建 yaml 文件 其中包含很多 unicode 字符 但我似乎无法让它转储 unicode 而不会给我一个解码错误 我正在使用ruamel yaml图书馆 UnicodeDecodeError ascii codec
  • 删除功能不起作用

    我正在开发一个应用程序 它有一个启动屏幕 可以下载几个文件 在文件开始下载之前 我想检查文件是否已经存在 如果存在 我想删除它们 下面显示的代码包含正确的文件路径 并且检查文件是否存在的函数似乎与 Logcat 中读出的状态 文件已删除 一
  • gulp.dest 未创建目标文件夹

    我的 gulp 代码部分如下所示 gulp src application base js application base assets js base pipe gulpPlumber errorHandler function err
  • watchOS 3 SpriteKit 中的触摸事件?

    在watchOS 3中使用SpriteKit时 如何处理触摸事件 我正在从 iOS 移植 SpriteKit 游戏 下面的代码不起作用 或者你必须以某种方式控制 WKInterfaceController override func tou
  • Apache 上 Django 应用程序的 POST/GET 请求日志

    Django 开发服务器非常好 它实时显示所有 POST GET 请求以及其他事件的日志 来自 Django 开发服务器的日志示例 04 Jul 2012 19 23 27 GET static images sprites submit
  • 根据所选单选按钮显示控件

    我有一组三个单选按钮 根据选择的单选按钮 我想显示三个控件之一 文本框 下拉列表或按钮 如何根据所选单选按钮的结果显示控件 您可以使用以下方法将控件的可见性绑定到 RadioButton 的 IsChecked 属性 BooleanToVi
  • 如何在 Android 中暂停和恢复录音

    我正在使用 MediaRecorder 类开发音频录制应用程序 我有以下要求 1 按下暂停按钮则暂停录音 2 按下恢复按钮后 从暂停处恢复录制 我试试这个link https stackoverflow com questions 5743
  • 使累计总和更快

    我正在尝试计算矩阵每一列的累积和 这是我的 R 代码 testMatrix matrix 1 65536 ncol 256 microbenchmark apply testMatrix 2 cumsum times 100L Unit m
  • C++ for every in 自定义集合

    所以自从它推出以来我就一直很喜欢for each在要迭代的关键字中STL collections 我是语法糖的超级粉丝 我的问题是如何编写可以使用这些关键字迭代的自定义集合 本质上 我需要公开什么 APi 才能使用这些关键字来迭代我的集合
  • 设置分层绘图的大小?

    我正在为我的应用程序制作一个图标 该应用程序基本上是一个朋友查找器 我正在创建一个看起来很像谷歌纬度图标的叠加层 我有一个因用户而变化的图像 并且我有边框 我已经能够很好地进行分层绘制和叠加 但问题是 图像拉伸到边框的大小 这是一个问题 因
  • 当应用程序进入后台时如何停止运行?

    我正在尝试建立一个可运行的程序 它可以每 5 秒间隔加载一次广告 当然 5 秒太快了 这只是为了测试目的 这是我的代码 package com admobsdk dfp handler import com google ads impor
  • 正则表达式从路径中删除文件名

    如何设计一个 RegEx 脚本来从路径中删除文件名 诀窍在于 道路上有各种各样的扳手需要投入工作 路径可以包括 1 Folder1 Folder2 Folder3 1234 folder4 5678 ApplesandOranges txt
  • 构造函数不能是虚拟的

    在其中之一互联网上的 C 教程 http www bogotobogo com cplusplus constructor php 我发现了下面关于为什么构造函数不能是虚拟的描述 我们不能声明虚拟构造函数 我们应该指定准确的 编译时对象的类