写在前面:在类中的虚函数说白了,就是只有本类才能调用。
public:
string name;
string ID;
Employee() {}; //构造函数
~Employee() {}; //析构函数
string getname() { return name; } //获取名字
string getid() { return ID; } //获取工号
void setEmployee(string Name, string ID1) //可修改信息
{
this->name = Name;
this->ID = ID1;
}
};
class Manger : public Employee//继承Employee
{
public:
int sal;
Manger() :Employee() {} //继承类的构造函数
~Manger() {};
int getsal() { return sal; }//获得sal
void setManger(string Name, string ID1, int sal1)
{
this->name = Name;
this->ID = ID1;
this->sal = sal1;
}
virtual int salary_M()const //虚函数manger
{
int sum=sal;
return sum;
}
};
在继承的时候一定要加public
编程实现抽象类Employee,派生类Manger, Employee有数据成员姓名name和工号ID,Manger有数据成员sal,代表经理的月工资,定义的所有类中必须包含构造函数、析构函数、修改和获取所有数据成员的成员函数,以及虚函数来计算职员的工资、输出职员的姓名name和工号ID。
int main()
{
HourlyWorker a;
a.setHourlyWorker("嘿", "12", 87, 89, 10);
cout << "名字是:" << a.getname() << endl;
cout << "工号为:" << a.getid() << endl;
cout << "小时数:";
cout << a.gethours() << endl;;
cout<<"工资"<<a.getwage()<<endl;
cout<<"月工资"<<a.getsal()<<endl;
int num;
num = a.salary_H();
cout << num << endl;
}
之所以有这么多输出是还有一个类没有添加上。下次补上