[面试]——菱形继承和虚继承
这个博客用来记录,我面试时当时没有想出来的题。
你知道菱形继承吗?讲一下
菱形继承,顾名思义是一种继承方式,假设有两个派生类分别继承了基类,则它们都会有基类的公有成员,当第三个派生类继承了前两个派生类后,就有了菱形继承,第三个派生类会有两套基类的成员,画图表示如下。
虚继承可以解决这个问题。
讲一下虚继承
虚继承是一种机制,让继承该虚基类的派生类共享其成员,无论派生多少次,都只实现一次虚基类,写法是在继承前加上一个virtual。
这个博客用来记录,我面试时当时没有想出来的题。
你知道菱形继承吗?讲一下
菱形继承,顾名思义是一种继承方式,假设有两个派生类分别继承了基类,则它们都会有基类的公有成员,当第三个派生类继承了前两个派生类后,就有了菱形继承,第三个派生类会有两套基类的成员,画图表示如下。
虚继承可以解决这个问题。
讲一下虚继承
虚继承是一种机制,让继承该虚基类的派生类共享其成员,无论派生多少次,都只实现一次虚基类,写法是在继承前加上一个virtual。