C++:14---虚继承,虚函数,多态

一、多级混合继承

下面先介绍菱形继承

//菱形继承
class A
{
public:
int data;
};
class B:public A
{
public:
int data;
};
class C:public A
{
public:
int data;
};
class D:public B,public C
{
public:
int data;
};int main()
{
D c;
D.data=1;
D.B::data=2;//访问B中的
D.C.::data=3;//访问C中的
D.B::A::data=4;//访问B继承的A
D.C::A::data=5;//访问C继承的A
D.A::data=4;//错误,产生二义性,不知道是B、C中哪一个
}

类的内存大小

sizeof(D); //20
sizeof(B); //8
sizeof(C); //8
  • 内存图解 

D先继承于B再继承于C,所以B的数据放在D内存段的最前方,C放在B的后面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(十四)nodejs循序渐进-高性能游戏服务器框架pomelo之开发Treasures游戏

#Tutorial 2 -- Treasures ##描述 Treasures 游戏是从 LordOfPomelo 中抽取出来,去掉了大量的游戏逻辑,用以更好的展示 Pomelo 框架的用法以及运作机制。 Treasures 很简单,输入一个用户名后,会随机得到一个游戏角色,…

leetcode243. 最短单词距离(vip题)好像挺简单?

给定一个单词列表和两个单词 word1 和 word2,返回列表中这两个单词之间的最短距离。 示例: 假设 words ["practice", "makes", "perfect", "coding", "makes"] 输入: word1 “coding”, word2 “practice”…

谈谈苹果应用内支付(IAP)的坑

一、请求商品 下面是请求商品的代码: - (void)validateProductIdentifier:(NSArray *)productIdentifier {SKProductsRequest *productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIdentifier]];self.request = productRe…

leetcode204. 计数质数(vip题)

统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 思路:筛法,见代码。 class Solution {public int countPrimes(int n) {// 1. 给数加上标记byte[] nums new byte[n];for (i…

如何使得客户端和服务器端完美配合做IOS应用内付费

配置Developer.apple.com 登录到Developer.apple.com,然后进行以下步骤: 为应用建立建立一个不带通配符的App ID用该App ID生成和安装相应的Provisioning Profile文件。配置iTunes Connect 登录到iTunes Connet,然后进行以下步骤: 用该App ID创建一个新的应用。在该应用中…

IOS内购流程从0-1手把手教会

苹果掌握着可能是全球最重要的APP分发渠道,然而30%的抽成近年来也被人批评,现在苹果似乎也看到反对意见了,从2021年1月1日开始,部分小型企业的分成费用降低到15%。 据报道,苹果将于2021年1月1日启动App Store小企业项目,会降低他们的抽成费用。针对年收入不足100万美元的…

leetcode217. 存在重复元素(vip题)超简单

给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,…

订单数据持久化和验证相关解决方案

订单数据持久化 有时候苹果支付在支付完成后,从苹果服务器返回收据的过程中可能会掉单(可能是网络问题,可能是苹果BUG,也有一部分是开发者自身埋的坑),因此我们需要一个订单持久化的机制来保障。 首先根据内购商品ID(此商品ID是在苹果后台建好的内购商品)、用户信息(…

IOS iap处理逻辑流程图再次梳理

序言: 本文补全一下iOS iap处理逻辑。 iap处理逻辑 苹果退单wiki:https://developer.apple.com/documentation/storekit/in-app_purchase/handling_refund_notifications 一、上图主要处理了以下业务: 普通购买 自动续订订阅 补单处理 预防黑产 退单处理 二、除了上述业…

(十七)深入浅出TCPIP之HTTP和HTTPS

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此&…

leetcode283. 移动零 比官方更好的解法。

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 思路:记录0的个…

C++:15---异常机制

1.概念:异常处理是一种允许两个独立开发的程序组件在程序执行时遇到不正常的情况相互通信的工具 2.异常检测和异常处理的方式throw表达式:程序遇到了错误或者无法处理的问题,使用throw引发异常try、catch语句块:以关键字tyr开始,并以一个或多个catch子句结束。它们也被称为…

Redis:08---字符串对象

一、字符串对象概述字符串类型是Redis最基础的数据结构。首先键都是字符串类型,而且其他几种数据结构都是在字符串类型基础上构建的,所以字符串类型能为其他四种数据结构的学习奠定基础字符串就是一个由字节组成的序列如下图所示,字符串类型的…

leetcode252. 会议室

给定一个会议时间安排的数组&#xff0c;每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei)&#xff0c;请你判断一个人是否能够参加这里面的全部会议。 示例 1: 输入: [[0,30],[5,10],[15,20]] 输出: false 示例 2: 输入: [[7,10],[2,4]] 输出: tr…

(十八)深入浅出TCPIP之epoll的一些思考

Epoll基本介绍在linux的网络编程中&#xff0c;很长的时间都在使用select来做事件触发。在linux新的内核中&#xff0c;有了一种替换它的机制&#xff0c;就是epoll。相比于 select&#xff0c;epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select…

leetcode292. Nim 游戏

你和你的朋友&#xff0c;两个人一起玩 Nim 游戏&#xff1a;桌子上有一堆石头&#xff0c;每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人&#xff0c;每一步都是最优解。 编写一个函数&#xff0c;来判断你是否可以在给定石头…

C++:16---强制类型转换和类型转换

旧式的强制类型转换 在早期C/C++中,显式地进行强制类型的转换有以下两种形式:type (expr) ; //函数形式的强制类型转换(type) expr; //C语言风格的强制类型转换比如: char c = 12; int b = (int)c; float f = float(b); C++的新式强制类型转换…

Nginx不停机优雅升级

最近线上运行的游戏越来越多,云服务商也给我推送提示系统升级,漏洞补丁升级,也有nginx更新的。 有一些比较关键性的系统补丁需要立即更新处理,有一些可以换一换不用升级,但此nginx升级的需求比较迫切,但更新可能需要重启nginx。 这将会影响到我们这样的一个登录业务逻辑…

leetcode186. 翻转字符串里的单词 II

给定一个字符串&#xff0c;逐个翻转字符串中的每个单词。 示例&#xff1a; 输入: ["t","h","e"," ","s","k","y"," ","i","s"," ","b","l…

Nginx大规模并发原理

Nginx在主流硬件上的并发数为十万,网络处理方面的领先地位,归功于突破性的事件驱动架构。 Nginx在每颗内核上创建一个工作进程,有效利用硬件资源。 在单个工作进程中交替处理多个连接,应对突如其来的网络流量。 Nginx资源管理 Nginx使用状态机管理流量。 非阻塞事件…