有多个基类 派生类的定义格式 cass派生类名:继承方式基类名1,…,继承方式基类名n public: //派生类公有成员 private //派生类私有成员 派生类有多 个基类为 多继承 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -16- 派生类的定义格式 class 派生类名:继承方式 基类名1, … 继承方式 基类名n { public: //派生类公有成员… private: //派生类私有成员… } 有多个基类 派生类有多 个基类为 多继承
例:已有基类base1,base2,base3,定义派生类 deriver class deriver: public basel, public base2, private base3 private int m_derdata public void derfunctionO 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -17- 例:已有基类base1,base2,base3,定义派生类deriver class deriver:public base1,public base2,private base3 { private: int m_derdata; public: void derfunction(); };
注意 ◆每一个“继承方式”,只用于限制对紧随其后之 基类的继承。 ◆类的继承方式是派生类对基类成员的继承方 式。 ◆类的继承方式指定了类外对象对于派生类从基 类继承来的成员的访问权限。 2005-4-27 北京邮电大学电信工程学院计算机技术中心 18
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -18- 注意 每一个“继承方式”,只用于限制对紧随其后之 基类的继承。 类的继承方式是派生类对基类成员的继承方 式。 类的继承方式指定了类外对象对于派生类从基 类继承来的成员的访问权限
直接基类和间接基类 class base ·父类被称为子 类的直接基类 class deriverl: public base 父类的父类或 更高层次的父 类被称为这个 class deriver 2: public deriver1 子类的间接基 类 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -19- 直接基类和间接基类 class base {…… }; class deriver1:public base { …… }; class deriver2:public deriver1 {…… } • 父类被称为子 类的直接基类 • 父类的父类或 更高层次的父 类被称为这个 子类的间接基 类
派生与继承的实例 公司人员管理系统: 小型公司人员分为:经理、兼职技术人员、销售经理和 兼职推销员 要求: ◆存储所有人员的姓名、编号、级别、当月薪水,计算月薪 总额并显示全部信息 ◆人员编号在生成人员信息时同时生成,每输入一个人员信 息编号顺序加1 ◆程序能够对不同人员按不同方法提升级别,月薪的计算 方法是: 经理拿固定月薪; ■兼职技术人员按工作小时数领取月薪; 兼职推销员的报酬按该推销员当月销售额提成; ■销售经理既拿固定月薪也领取销售提成。 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -20- 派生与继承的实例 公司人员管理系统: 小型公司人员分为: 经理、兼职技术人员、销售经理和 兼职推销员. 要求: 存储所有人员的姓名、编号、级别、当月薪水,计算月薪 总额并显示全部信息。 人员编号在生成人员信息时同时生成,每输入一个人员信 息编号顺序加1。 程序能够对不同人员按不同方法提升级别,月薪的计算 方法是: 经理拿固定月薪; 兼职技术人员按工作小时数领取月薪; 兼职推销员的报酬按该推销员当月销售额提成; 销售经理既拿固定月薪也领取销售提成