C++程序设计教程 第11讲:虚函数(I
C++程序设计教程 第11讲: 虚函数(I)
关于多态性 多态性( polymorphism) Shape TwoDimShape ThreeDim Shape Circle Sphere Square Cube Triangle Tetrahedron
关于多态性 多态性(polymorphism) Shape TwoDimShape ThreeDimShape Circle Square Triangle Sphere Cube Tetrahedron
例7-10:人员信息管理 class employee i protected: char name[20]; 姓名 int individua1mpN。; /个人编号 int grade //级别 float accuray i /月薪 static int employeeno i /本公司职员目前的最大值 public: employee()i /构造函数 virtual employee() /析构函数 void Payo)[] /计算月薪函数函数为空 void Get工 individua1 EmpNo();//获取个人编号 float GetAccumPay()i /获取月薪
例 7-10:人员信息管理 class employee { protected: char name[20]; // 姓名 int individualEmpNo; // 个人编号 int grade; // 级别 float accumPay; // 月薪 static int employeeNo; // 本公司职员目前的最大值 public: employee(); // 构造函数 virtual ~employee(); // 析构函数 void Pay() {} // 计算月薪函数 函数为空 void GetIndividualEmpNo(); // 获取个人编号 float GetAccumPay(); // 获取月薪 … … };
例7-10:人员信息管理 int employee: employeeNo 1000 员工编号基数为1000 employee:: employee individualEmpNo employeeNo++i //新员工编号为目前最大号加1 grade 1 accumPay =0.ofi int employee:: GetIndividualEmpNo()//获取个人编号 t return individualEmpNo; j float emp1oyee:: GetAccumPay()//获取月薪 t return accumPayi I
例 7-10:人员信息管理 int employee::employeeNo = 1000; // 员工编号基数为 1000 employee::employee() { individualEmpNo = employeeNo++; // 新员工编号为目前最大号加1 grade = 1; accumPay = 0.0f; } int employee::GetIndividualEmpNo() // 获取个人编号 { return individualEmpNo; } float employee:: GetAccumPay() // 获取月薪 { return accumPay; }
例7-10:人员信息管理 class technician public employee /技术人员类 t private: float hourlyRate int workhours public: technician; void SetWorkHours (int wh) void Pay ()i technician:: technician( i hourlyRate 100; workHours 200; F void technician:: Pay ( /计算月薪,按小时计算 accumPay hourly Rate workHours;
例 7-10:人员信息管理 class technician : public employee // 技术人员类 { private: float hourlyRate; int workHours; public: technician(); void SetWorkHours(int wh); void Pay(); }; technician::technician() { hourlyRate = 100; workHours = 200; } void technician::Pay() { // 计算月薪,按小时计算 accumPay = hourlyRate * workHours; }