摘要: 多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。 多继承下派生类的定义格式如下: class :,,… { }; 其中,,,…是三种继承方式:public、private、protected之一。例如: class A { … }; class B { … }; class C : public A, public B { … }; 其中,派生类C具有两个基类(类A和类B),因此,类C是多继承的。按照继承的规定,派生类C的成员包含了基类A, B中成员以及该类本身的成员。 多继承的构造函数 在多继承的情况下,派生类的构造函数格式.. 阅读全文
posted @ 2013-09-28 10:26 来自你520的末班车 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 关联容器不同于顺序容器的是,顺序容器底层用数组实现,为线性结构,而关联容器在实现中,用到的非线性存储方式;顺序容器是通过元素在容器中的位置顺序存储和访问元素,而关联容器是通过键(key)存储和读取元素的。c++标准模板库中,关联容器有set、multiset、map、multimap. 1.底层原理 我们已经说过,关联容器底层实现是用非线性存储方式,那么这种非线性存储方式是什么呢?答案是"红黑树"(RB-Tree),红黑树是平衡二叉树的一种,其有以下特点: (1)所有左子树结点的值小于等于根节点的值,右子树节点的值大于根节点的值。 (2)没有一个节点深度过大。 通过上面,就 阅读全文
posted @ 2013-09-28 10:19 来自你520的末班车 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 一个完整的例子: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { /// /// 接口的例子,接口是顶层设计////////////////////////// /// interface IAnimal //顶层接口 { void eating(); //接口中声明的方法,这里不可以用static,abstract修饰 } abstract class Bird :IAnimal //抽象类Bird继承了IAni... 阅读全文
posted @ 2013-09-28 09:51 来自你520的末班车 阅读(351) 评论(0) 推荐(0) 编辑