派生与继承的实例 分析: 描述全体职员的共性(基类) 描述每一类特殊人员(派生类) 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -21- 派生与继承的实例 分析: ·描述全体职员的共性(基类) ·描述每一类特殊人员(派生类)
class emplovee protected: char iname ∥姓名 int individualempNo;∥个人编号 int grade;∥级别 float accum pay;∥/月薪总额 static int employee0;∥本公司职员编号目前最大值 pl publica employee(; ∥构造函数 employee0;析构函数 void pay(;/计算月薪函数 void promote(in);/升级函数 void displaystatusO;/显示人员信息 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -22- class employee { protected: char *name; //姓名 int individualEmpNo; //个人编号 int grade; //级别 float accumPay; //月薪总额 static int employeeNo; //本公司职员编号目前最大值 public: employee(); //构造函数 ~employee(); //析构函数 void pay(); //计算月薪函数 void promote(int);//升级函数 void displayStatus(); //显示人员信息 };
class technician: public employee/兼职技术人员类 private 新增加的成员 float hourly rate;/每小時酬金 int workhours;〃当月工作时数 public technician ∥构造函数 void payO;//计算月薪函数 同名覆盖,改造基类成员 void display Status,/显示人员信息 派生类的成员: 1.从基类继承的成员; 2.改造基类成员; 3.添加派生类新成员 2005-4-27 北京邮电大学电信工程学院计算机技术中心
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -23- class technician: public employee //兼职技术人员类 { private: float hourlyRate; //每小时酬金 int workHours; //当月工作时数 public: technician(); //构造函数 void pay(); //计算月薪函数 void displayStatus(); //显示人员信息 }; 新增加的成员 同名覆盖,改造基类成员 派生类的成员: 1. 从基类继承的成员; 2. 改造基类成员; 3. 添加派生类新成员
9.2继承方式 ◆三种继承方式 public、 protected、 private ◆不同继承方式的影响主要体现在: ■派生类成员对基类成员的访问控制。 派生类对象对基类成员的访问控制 ◆定义派生类时要声明继承方式 2005-4-27 北京邮电大学电信工程学院计算机技术中心 24
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -24- 9.2 继承方式 三种继承方式 public、protected、private 不同继承方式的影响主要体现在: 派生类 成员 对基类成员的访问控制。 派生类 对象 对基类成员的访问控制。 定义派生类时要声明继承方式
9.2.1.派生类的定义 ◆派生类的定义形式 class派生类名:继承方式基类1, 继承方式基类2,…,继承方式基类n 派生类成员声明 }; 2005-4-27 北京邮电大学电信工程学院计算机技术中心 25-
2005-4-27 北京邮电大学电信工程学院计算机技术中心 -25- 9.2.1. 派生类的定义 派生类的定义形式: class 派生类名:继承方式 基类1, 继承方式 基类2,…,继承方式 基类n { 派生类成员声明; };