编辑文章 - 博客频道 - CSDN.NET
来源:互联网 发布:微信公众平台java源码 编辑:程序博客网 时间:2024/06/13 12:58
1. 虚拟继承是为了防止菱形继承间接派生类含有多份虚基类成员数据
2. 虚拟继承虚基类的初始化应该由最底层的派生类显示负责
源代码:
// virtual_inherited.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;/************************************************************************//* 虚继承:*//************************************************************************/class Base{public:Base(int a):a(a){cout<<"Base()"<<endl;}void display(){cout<<"a = "<<a<<endl;}private:int a;};class DerivedB:virtual public Base{public:DerivedB(int a,int b):Base(a),b(b){cout<<"DerivedB()"<<endl;}private:int b;};class DerivedC:virtual public Base{public:DerivedC(int a,int c):Base(a),c(c){cout<<"DerivedC()"<<endl;}private:int c;};class DerivedD:public DerivedC,public DerivedB//构造按继承顺序{public:DerivedD(int a,int b,int c,int d):Base(d),DerivedB(a,b),DerivedC(a,c),d(d){cout<<"DerivedD()"<<endl;}private:int d;};void main(){DerivedD d(1,2,3,4);d.Base::display();}运行结果:
Base()
DerivedC()
DerivedB()
DerivedD()
a = 4
请按任意键继续. . .
0 0
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- Java中的equals()和hashCode()契约
- 网页编码就是那点事
- cocos2d-js 3.0常用对象使用总结
- js 判断是否为金额
- Java垃圾回收精粹
- 编辑文章 - 博客频道 - CSDN.NET
- 多租户技术
- cocos2dx实现精灵单击、双击、三击级拖拽分别处理
- Python下的正则表达式原理和优化笔记
- Android 上的 制表符(tab) —— 一个神奇的字符 (二)
- js判断是否为数字
- ZendStudio 10.5的破解 包括mac
- 黑马程序员-TCP传输
- mysql load