C + + 程序设计实验指导书北京大学计算机教学实验中心2006年3月说 明C++是一门高效实用的程序设计语言,实现了类的封装、数据隐藏、继承及多态,使得其代码容易维护及高度可重用,已成为我校信息基础教学的主要内容。本实验手册包含三方面内容:实验指导、模拟试题和实验作业,成为我校C++程序设计课程上机实验指导的主要依据。根据实验大纲要求,包含十二个实验及其相关实验作业。实验指导部分由学生课内实验完成,实验作业部分由学生课下完成。本手册由北京大学计算机教学实验中心丁玲老师执笔,李阳明、窦燕老师审
本文以实例形式较为全面的讲述了C++的多重继承与虚继承,是大家深入学习C++面向对象程序设计所必须要掌握的知识点,具体内容如下:
一、多重继承
我们知道,在单继承中,派生类的对象中包含了基类部分 和 派生类自定义部分。同样的,在多重继承(multiple inheritance)关系中,派生类的对象包含了每个基类的子对象和自定义成员的子对象。下面是一个多重继承关系图:
class A{ /* */ };
class B{ /* */ };
class C : public A { /* */
C++类的多继承
在前面的例子中,派生类都只有一个基类,称为单继承。除此之外,C++也支持多继承,即一个派生类可以有两个或多个基类。
多继承容易让代码逻辑复杂、思路混乱,一直备受争议,中小型项目中较少使用,后来的 Java、C#、PHP 等干脆取消了多继承。想快速学习C++的读者可以不必细读。
多继承的语法也很简单,将多个基类用逗号隔开即可。例如已声明了类A、类B和类C,那么可以这样来声明派生类D:
class D: public A, private B, protected C{
//