C++ 如何建立继承依赖关系
我正在做这个练习: 有不同类型的员工:普通员工 工人、监事、董事会成员是特定类型的 主管 跟踪常规辅助对象类型的对象数 每个员工都有自己的姓名,可以自我介绍 每个employee对象都有自己分配给他的工作人员id 当它被创建时 工资的具体计算方式取决于员工的类型 雇员 每个员工都可以有自己的直接主管,可以是任何人 主管(例如,这意味着董事会成员可以是 正式工人的主管) 现在,我已经阐述了所有要点,排除最后一点:C++ 如何建立继承依赖关系,c++,C++,我正在做这个练习: 有不同类型的员工:普通员工 工人、监事、董事会成员是特定类型的 主管 跟踪常规辅助对象类型的对象数 每个员工都有自己的姓名,可以自我介绍 每个employee对象都有自己分配给他的工作人员id 当它被创建时 工资的具体计算方式取决于员工的类型 雇员 每个员工都可以有自己的直接主管,可以是任何人 主管(例如,这意味着董事会成员可以是 正式工人的主管) 现在,我已经阐述了所有要点,排除最后一点: class Employees { public: static int
class Employees
{
public:
static int workerid;
int salary;
Employees(){
workerid += 1;
}
void introduce(){
cout << "the name is:" << name << "and surname" << surname << endl;
}
};
int Employees::workerid = 0;
class Supervisors :public Employees{
public:
Supervisors(){
salary = 1000;
}
};
class BoardMembers : public Supervisors{
public:
BoardMembers(){
salary = 1200;
}
};
class RegularWorkers :public Employees{
public:
static int number;
Supervisors *supervisor;
RegularWorkers(Supervisors supervisor){
this->supervisor = &supervisor;
number += 1;
salary = 600;
}
};
int RegularWorkers::number = 0;
类员工
{
公众:
静态int-workerid;
国际工资;
雇员(){
workerid+=1;
}
无效引入(){
无法通过添加主管来修改employee类
Supervisor *supervisor;
然后重载Employee构造函数以接受类型Supervisor
,并将它们设置为彼此相等
Employees(Supervisor *s){
supervisor = s;
workerid += 1;
}
然后,您可以使用访问主管的ID
supervisor->ID
此外,您可能希望将name
和names
作为成员变量,并在构造函数中初始化这些变量。若要添加到以前的构造函数中,可能如下所示
Employees(Supervisor *s, string sName, string sSurname){
name = sName;
surname = sSurname;
supervisor = s;
workerid += 1;
}
您可以使用supervisor*supervisor;
,而不是int-idofsupervisor;
。无论何时需要supervisor的id,只需使用supervisor->id
。现在添加此supervisor
对象作为类RegularWorkers
的构造函数参数,它应该输出名称,而不是更改名称。(你知道向某人“自我介绍”意味着什么吗?)最后一点说的是每个员工,而不是每个普通员工。“任何主管”规范建议你使用主管类来指明谁是主管,而不是id。(我怀疑你最近才提到过指针。)您好,谢谢您的回复,我将metod Introduct更改为saw名称和姓氏,但我有一个问题,如何在不更改order类的情况下在Employees构造函数中引入名称和姓氏。@molbdniloi我意识到主管的更改,但我不知道您的意思是否是@MohitJainHi,我知道您是新加入SO的。我如果您觉得某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”。确保您所有已回答的问题的答案都已接受。这有助于将注意力集中在仍然没有答案的较年长的SO上。因此,请将他的答案标记为“答案”,并给他投弃权票。