这次作业又被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 基类名{};
二:派生类构造函数如何将值传递给基类里的数据成员
派生类构造函数(派生类参数):基类构造函数(基类参数){};