先上代码:

#include <iostream>using namespace std;//动物类
class animmal {public:int age;double price;string name;
};
//羊类
class yang : virtual public animmal{public:int weight;
};
//驼类
class tuo : virtual public animmal {public:int weight;int weight1;
};
//羊驼类
class yangtuo :public yang, public tuo {};
int main() {yangtuo yt;return 0;
}

打开vs的Developer Command Prompt for VS 2019

按照以下步骤输入

1、首先进入到项目的工程文件夹下,我存放的是E盘,所以输入 E:
2、然后 cd 到具体的项目文件夹下;
3、然后输入
cl /d1 reportSingleClassLayoutyangtuo 源.cpp
此处注意:report小写,后面的单词首字母大写
yangtuo是类的名称,你的类叫什么就改成什么,后面的源.cpp是项的名称。

如果还有不懂的看下面的源码:

源码分析

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.7.6
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************D:\Program Files (x86)\Microsoft Visual Studio\2019\Community>
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community>e;
'e' 不是内部或外部命令,也不是可运行的程序
或批处理文件。D:\Program Files (x86)\Microsoft Visual Studio\2019\Community>e:E:\>cd E:\algorithm\diamod_inheritE:\algorithm\diamod_inherit>cl /d1 reportSingleClassLayoutyangtuo 源.cpp
用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.27.29112 版
版权所有(C) Microsoft Corporation。保留所有权利。源.cppclass yangtuo   size(64):+---0      | +--- (base class yang)0      | | {vbptr}4      | | weight| +---8      | +--- (base class tuo)8      | | {vbptr}
12      | | weight
16      | | weight1| | <alignment member> (size=4)| +---| <alignment member> (size=4)+---+--- (virtual base animmal)
24      | age| <alignment member> (size=4)
32      | price
40      | ?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@ name+---yangtuo::$vbtable@yang@:0      | 01      | 24 (yangtuod(yang+0)animmal)yangtuo::$vbtable@tuo@:0      | 01      | 16 (yangtuod(tuo+0)animmal)
vbi:       class  offset o.vbptr  o.vbte fVtorDispanimmal      24       0       4 0
Microsoft (R) Incremental Linker Version 14.27.29112.0
Copyright (C) Microsoft Corporation.  All rights reserved./out:源.exe
源.objE:\algorithm\diamod_inherit>

【c++基础】菱形继承问题相关推荐

  1. 菱形继承,多继承,虚继承、虚表的内存结构全面剖析(逆向分析基础)

    // 声明:以下代码均在Win32_Sp3   VC6.0_DEBUG版中调试通过.. 在逆向还原代码的时候,必须得掌握了菱形继承,多继承,虚继承虚函数的内存虚表结构.所以,这篇文章献给正在学习C++ ...

  2. Python基础教程:菱形继承问题

    一.类的分类 1.1 新式类 继承了object的类以及该类的子类,都是新式类 Python3中所有的类都是新式类 1.2 经典类 没有继承object的类以及该类的子类,都是经典类 只有Python ...

  3. C++ 面向对象(一)继承:继承、对象切割、菱形继承、虚继承、继承与组合

    目录 继承 继承的概念 继承方式 基类与派生类的赋值转换 作用域与隐藏 派生类的默认成员函数 友元与静态成员 友元 静态成员 多继承 菱形继承 虚继承 继承和组合 什么是组合 如何选择组合和继承 继承 ...

  4. Python中菱形继承的MRO顺序及property属性

    Python中菱形继承的MRO顺序及property属性 文章目录 Python中菱形继承的MRO顺序及property属性 一.Python中菱形继承的MRO顺序 1. 单独调用父类的方法 2. 多 ...

  5. C++ 继承 | 对象切割、菱形继承、虚继承、对象组合

    文章目录 继承 继承的概念 继承方式及权限 using改变成员的访问权限 基类与派生类的赋值转换 回避虚函数机制 派生类的默认成员函数 友元与静态成员 多继承 菱形继承 虚继承 组合 继承 继承的概念 ...

  6. 多继承 , 组合 , 菱形继承 , 接口 , 抽象 , 鸭子类型

    一, 复习 属性的的正确存放位置:类中应该存储所有对象公共的内容对象中存储都是每个对象独有的(都不同) 初始化函数:给对象的属性赋初值 , 可以保证只要对象被创建就一定有相应的属性节省了重复代码绑定方 ...

  7. C++偶遇-菱形继承

    昨天在工作中,偶然遇到一个菱形继承的例子,之前觉得这个场景基本不可能出现.现在看来还是存在的. 情况: 类:xxxMoveDialog–各种自定义功能移动的窗口 类:xxxModelDialog–支持 ...

  8. 【C++】继承详解,菱形继承问题

    继承体系 概念 继承方式 赋值兼容规则 同名隐藏 子类对象的构造过程 菱形继承 概念 是面向对象程序设计是代码可以复用的最重要的手段,它允许程序员在保持原有的类的特性的基础下进行拓展,增加功能. 这样 ...

  9. C++继承以及菱形继承

    C++面向对象--继承 问题的引出 假如我们需要给某个高校制作一款人员信息管理系统,学习过C++之后我们知道可以给每个职业设置一个class,到每个个体的时候再具体实例化出一个对象就行了,假如该高校的 ...

  10. C++之菱形继承与虚继承(含虚函数)

    面向对象的三大特征:封装,多态,继承 前面我们已经讲了继承的一些知识点,在这基础上,我们讲的时候再涉猎一些多态的只是. 下面我们先接着上次讲有虚函数的菱形虚继承 首先什么是虚函数.? 虚函数:在类里面 ...

最新文章

  1. 计算机网络·用户代理和浏览器 发送邮件分别需要的协议
  2. mysql搭建测试环境的步骤_如何搭建测试环境
  3. 条件随机场(CRF)和隐马尔科夫模型(HMM)最大区别在哪里?CRF的全局最优体现在哪里?
  4. linux 中 alien命令的使用
  5. Openjudge NOI题库 ch0111/04 网线管理
  6. LeetCode 876. 链表的中间结点(快慢指针)
  7. 信息学奥赛 数论专题 2、带 余 除 法
  8. C++基础部分_C++文件操作_二进制文件的读操作---C++语言工作笔记079
  9. R语言中怎么将一个字符串向量合成一个大字符串
  10. 不敢相信?System.currentTimeMillis() 居然存在性能问题
  11. nyoj412 Same binary weight(bitset类运用)
  12. 关于怎么计算某一年的第一天为周几的问题
  13. 经典:智能物联网大数据系统案例
  14. linux内核时区文件编辑器——ZIC时区编辑
  15. Excel饼图中既显示百分比
  16. python爬取网易云音乐飙升榜音乐_python爬取网易云音乐热歌榜 python爬取网易云音乐热歌榜实例代码...
  17. 网上信息抽取技术纵览
  18. 计算机word表格计算教程F9,Word表格数据计算与域操作
  19. Cadence原理图DRC检查介绍
  20. excel数据透视表_Excel数据透视表可轻松实现总计

热门文章

  1. 系统学习机器学习之参数方法(三)
  2. microbit与python编程_简单5步开始学习microbit编程-windows篇
  3. Git——撤销和删除操作【git restore / git rm 】
  4. C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符‘s’删除,将修改后的内容存到student.txt文件中。
  5. java标签不显示文字_此程序在运行后,窗体上不显示标签的文字,也不显示图标,我自己检查也没发现什么问题,请大神帮帮忙看看我哪个地方有问题?...
  6. Hbase数据模型入门
  7. scala练习:依据输入的年和月打印该月日历
  8. html移动端缩放解决方案
  9. Foxmail配置IMAP账号
  10. HDOJ 2013 蟠桃记