博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
虚拟继承中子类和父类的构造函数顺序1
阅读量:6986 次
发布时间:2019-06-27

本文共 668 字,大约阅读时间需要 2 分钟。

这里的inter1,2,3.要写base2的构造函数

final也写,否则里面的数据未初始化

inert2写的原因是假如有人使用直接使用inert2,里面数据就可以初始化了

总结一下,虚拟继承的基类就像一个指针一样差不多,但又有分别,因为弄了 private会使用不了数据。

以后每个要实现的类都要调用虚拟基类的构造函数,如上面的inter2.

写上我个人测试代码

class A{protected://不能写private	int a;public:	A(int x) :a(x){}};class B:virtual public A{public:	B(int x) :A(x){}};class C :virtual public A{public:	C(int x) :A(x){}	void display()	{		cout << a << endl;//这个A的数据可以在这里使用	}};class D :public B, public C{private:	int d;public:	D(int x, int y) :B(x), C(x), d(y),A(x){}//这个A(x)一定要写	void display()	{		cout << a << endl << d << endl;	}};int main(){	C c(1);	c.display();	D d(1, 2);	d.display();}

  

转载于:https://www.cnblogs.com/vhyc/p/5582450.html

你可能感兴趣的文章
Linux性能监控命令——sar
查看>>
使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二...
查看>>
视差滚动(Parallax Scrolling)效果的原理和实现
查看>>
咏南中间件支持DELPHI低版本开发的两层程序平稳升级到三层
查看>>
带监督的文本分类算法FastText
查看>>
新书推荐:细说PHP(含样章试读)
查看>>
《黑客防线》2010合订本(下半年)
查看>>
intel I7平台Win7 x64 下wpf、silverlight 与aero特效动画缓慢故障排除一则
查看>>
shell常识总结
查看>>
内存池版本1--单线程-固定大小专为某类设计的内存池
查看>>
大道至简,职场上做人做事做管理
查看>>
《C++必知必会》读书笔记2
查看>>
web 学习资源整理
查看>>
make 参数定义
查看>>
数组排序(冒泡和快速)
查看>>
java从字符串中提取数字
查看>>
Cardinality Feedback
查看>>
Android App Build System
查看>>
Python yield与实现
查看>>
终端中的乐趣:6个有趣的Linux命令行工具
查看>>