C++类的继承深入讲解

面向对象语言都有类,也都有继承,继承可以很大程度上减少代码量,而让代码逻辑更清晰。继承可以使得子类(派生类)具有父类(基类)的属性和方法或者重新定义、追加属性和方法等。

比如车是基类,轿车和公交车从车类派生而来,这就是一个继承的例子。

类的继承

应该有的人会问了,这车继承例子跟编程好像比较远?如果有这想法就说明还没有面向对象编程思想。

下面写下车继承例子代码,让大家明白面向对象。

以上代码写出了继承的关系,不用太在意设计的成员变量是否合理,现在有了大概了解类继承,再来写下与继承有关系的内容。

类继承的语法

可以看到有三种权限的继承,public、private、protected,现在就这三种继承方式做说明

public公有继承:基类的非私有成员的访问属性在派生类中保持不变,派生类可以防问基类公有的和保护的部份

private私有继承:基类的非私有成员的访问属性在派生类变成私有成员,私有继承一般使用较少

protected保护继承:基类的非私有成员的访问属性在派生类变成保护成员

不管如何继承基类,基类中的私有成员都是无法访问。

继承后派生类在内存如何存放基类成员:

用上面车类定义代码来写一段测试

继承后派生类在内存中测试结果:

从测试结果可以看出,类继承后,派生类的成员变量在内存中是连续存储的。前面基类成员变量,后面是派生类成员为变量。

《C++类的继承深入讲解》上有30条评论

评论已关闭。