Пожалуйста, не ставьте под сомнение истинную нечетную иерархию работников в этом коде, я понятия не имею, почему кто-то захочет что-то вроде этого, но я решил сделать упражнение в множественном наследовании, чтобы быть уверенным Я полностью это понял. Итак, вот результат.C++ множественное наследование
using namespace std;
class Employee
{
protected:
string name;
public:
string getname()
{
return name;
}
void setname(string name2)
{
name = name2;
}
Employee(string name2)
{
name = name2;
}
Employee(){}
};
class Manager : public Employee
{
public:
string getname()
{
return ("Manager" + name);
}
Manager(string name2) : Employee(name2){}
Manager() : Employee(){}
};
class Supervisor : public Manager,public Employee
{
public:
Supervisor(string name2) : Manager(name2) , Employee(name2){}
Supervisor() : Manager() , Employee(){}
string getname()
{
return ("Supervisor" + Employee::getname());
}
};
Надеюсь, вы понимаете, что я пытаюсь сделать здесь. Я получаю кое-что о «неоднозначном преобразовании между производным классом« Супервизор »и базовым классом« Сотрудник ».« Так что мне делать?
«Надеюсь, вы понять, что я пытаюсь сделать здесь.» Возможно, вам будет лучше объяснять, что вы пытаетесь сделать. – thiton
Почему супервизор наследуется от менеджера? –
@Justin: Более уместный вопрос, так как 'Manager' наследует от' Employee', почему 'Supervisor' наследует от' Employee', а не просто 'Manager'? – ildjarn