什么是对象切片?

2024-01-11

在 C++ 中,什么是对象切片以及它何时发生?


“切片”是将派生类的对象分配给基类的实例,从而丢失部分信息 - 其中一些信息被“切片”掉。

例如,

class A {
   int foo;
};

class B : public A {
   int bar;
};

所以一个类型的对象B有两个数据成员,foo and bar.

那么如果你要这样写:

B b;

A a = b;

然后信息在b关于会员bar迷失在a.

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

什么是对象切片? 的相关文章

  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • iOS9 中的应用程序传输安全和 IP 地址

    我使用在我的开发盒上运行的本地服务器来开发我的 iOS 应用程序 在设备上进行测试时 我直接通过 IP 地址进行连接 该地址通过 HTTP 而不是 HTTPS 因此我不必在开发过程中处理自签名证书 而设备根本不喜欢自签名证书 我认为这就足够
  • JSF 转换器时间戳

    我想将我的输入转换为时间戳值 我只在示例中找到了日期转换器 有没有最佳实践 谢谢 Update 我想保存用户的生日 但我的后端需要时间戳值 我在将它绑定到我的 jsf 前端时遇到问题 也许示例链接会有帮助 我尝试如下 public void
  • 边缘线和填充 matplotlib 或 seaborn 分布图的不同透明度

    我想为我在 matplotlib seaborn 中创建的分布图的边缘线和填充设置不同级别的透明度 alpha 例如 ax1 sns distplot BSRDI DF label BsrDI bins newBins kde False
  • 如何使用 sed 删除与模式匹配的行及其后面的行?

    我有一个看起来像这样的文件 good text good text FLAG bad text bad text good text good text good test bad Text FLAG bad text bad text g
  • 我是否缺少在 Ubuntu 9.04 上使用 Python2.6 绑定构建/安装 VTK-5.4 的步骤?

    我使用源代码的 Python 绑定成功构建并安装了 VTK 5 4 然而 当我尝试在 python 中导入 VTK 时 它给出了以下回溯错误 文件 第 1 行 位于 文件 usr local lib python2 6 dist packa
  • 如何在 swift 3 中将 NSArray 转换为 Swift Array

    我有两个数组 var arr1 NSArray var arr2 String 我想转换NSArray到字符串数组中 我在用 arr2 arr1 作为 细绳 但它给了我错误 NSString is not a subtype of NSAr
  • 在 Python 中将小时和分钟转换为总分钟

    我有一个 Pandas DataFrame 其中有一列以小时和分钟为单位的时间字符串 例如 1 小时 8 分钟 有些单元只有几分钟 例如 47 分钟 我试图从这种格式转换为总分钟数的整数值 例如 1 小时 8 分钟将是 68 我尝试对其进行
  • TFS 2018 Update 2 IIS 网站部署已弃用或缺失

    将 TFS 更新到更新 2 后 在 CI 构建任务中 IIS Web 应用程序部署 被标记为 已弃用 这个任务的替代品是什么 Also in the CD in the after adding IIS Website Deployment
  • Django 无效的块标签:endelse 和 ifequal

    我想使用 djangoifequal and else判断变量是否等于的标签80 or 22 所以 这是代码 if firewalls thead tr th IP address th th Function th tr thead en
  • O(n) 算法找出出现次数超过 n/2 次的元素

    在一次采访中 有人要求我提供一个 O n 算法来打印在数组中出现超过 n 2 次的元素 如果存在这样的元素 n 是数组的大小 我不知道如何做到这一点 有人可以帮忙吗 这是博耶的投票算法 http www cs utexas edu moor
  • 按钮高度不一致(跨浏览器)

    我在设置按钮的高度时遇到问题 基本上我无法跨浏览器使用它 对于 Firefox 它高于normal 没有任何理由 这是一个屏幕截图 Firefox Safari 和 Opera 按此顺序 这里是代码 http jsfiddle net TM
  • 在 iOS 中绘制矩形

    我的应用程序的目标是让用户能够通过向左和向右滑动 iPhone 屏幕来对不同的日程安排选项进行排序 当用户对这些不同的调度选项进行排序时 我将如何绘制和删除矩形 我有一个 UIViewController h UIViewControlle
  • 通过文档文字 SOAP 发送 Base64 图像的替代方案

    我目前正在修改业务应用程序的文档文字 SOAP 服务 该应用程序前后传输有关客户的数据 刚刚确定了传输扫描文档图像的新要求 我遇到的问题是我使用的专有语言不支持 SOAP 附件 传输的图像可以是最大 32KB 的任何图像 我能想到的唯一解决
  • 获取产品的自定义选项值 magento 2

    我的产品有两个自定义选项 颜色和尺寸都是下拉菜单 在产品详细信息页面中 我必须显示该产品的所有可用颜色 我尝试了以下代码并且它有效 但它返回所有颜色和大小的值 但我只需要颜色值 那就是我想按颜色选择自定义选项 product block g
  • 在Windows中,2<&1和2>&1有什么区别?

    本页中的示例和解释让我感到困惑 http www microsoft com resources documentation windows xp all proddocs en us redirection mspx mfr true h
  • 等待 Kotlin 协程在 onCreateView() 中完成

    我有一个初始化块onCreateView 其中一些变量是从 SharedPreferences DB 或 Network 当前从 SharedPreferences 分配的 我想用这些值更新视图onViewCreated 但它们在协程之前更
  • 合并所有两个表但列数不同

    select count as total FROM SELECT FROM database1 orders WHERE number LIKE 11111111111111111 UNION ALL SELECT FROMdatabas
  • 信号会通过哪些方式干扰管道通信?

    我对信号一无所知 对管道也只有一点了解 从评论来看zdim s在这里回答 https stackoverflow com questions 48558093看来信号可能会干扰父进程和子进程之间的管道通信 有人告诉我 如果你使用IO Sel
  • 错误:(24, 11) 无法解析:com.android.support:appcompat-v7:8.0.+

    请帮助解决这个错误 因为这是我的第一个 Android 项目 摇篮同步 应用插件 com android application android compileSdkVersion 8 buildToolsVersion 23 0 2 de
  • 什么是对象切片?

    在 C 中 什么是对象切片以及它何时发生 切片 是将派生类的对象分配给基类的实例 从而丢失部分信息 其中一些信息被 切片 掉 例如 class A int foo class B public A int bar 所以一个类型的对象B有两个