20170503cpp上机作业---派生构造

来源:互联网 发布:java cs 框架 编辑:程序博客网 时间:2024/06/02 04:14

0503

这次作业又被XDH害惨,抄我作业也不知道改一改,又让我0分了。。

#include<iostream> #include<cstring>using namespace std;class Employee{    int id;    char name[10];    public:        Employee(int q,const char *p)        {            id=q;            strcpy(name,p);        }        ~Employee(){}        void Emp_dispaly()        {            cout<<"ID:"<<id<<endl            <<"NAME:"<<name<<endl;         }        void Emp_change(int q,const char *p)        {            id=q;            strcpy(name,p);        }};class Manager :public Employee {    int sal;    public:        Manager (int q,const char*p,int r):Employee(q,p)        {            sal=r;        }        ~Manager(){}        void Man_display()        {            Employee::Emp_dispaly();            cout<<"SALARY:"<<sal<<endl;         }        void Man_change(int a,const char *b,int c)        {            Employee::Emp_change(a,b);            sal=c;        }};class HourlyWorker:public Employee{    int wage;    int hours;    public :        HourlyWorker(int q,const char*p,int w,int h):Employee(q,p)         {            wage=w;            hours=h;            }        ~HourlyWorker(){}        void Hw_display()        {            Employee::Emp_dispaly();            cout<<"WAGE:"<<wage<<endl;            cout<<"HOURS:"<<hours<<endl;         }        void Hw_change(int q,const char*p,int w,int h)        {            Employee::Emp_change(q,p);            wage =w;            hours =h;        }};int main(){    Manager man(1001,"张三",5000);    HourlyWorker Hw(1002,"李四",5,10);    man.Man_display();    Hw.Hw_display();    cout<<"--修改后--"<<endl;    man.Man_change(1010,"张四",5500);    Hw.Hw_change(1020,"李三",6,15);    man.Man_display();    Hw.Hw_display();

这次没有遇到什么难点,写一下新知识点把。
一:派生的写法class 派生类名 :public 基类名{};
二:派生类构造函数如何将值传递给基类里的数据成员
派生类构造函数(派生类参数):基类构造函数(基类参数){};

0 0