Я разрабатываю код, используя модель модели Boss-Worker. Я сомневаюсь. Список, который будет добавлен Боссом, является членом класса Boss. Для того чтобы Рабочий получил доступ к нему, я наследую класс Worker от Boss.Дизайн модели Boss-Worker
1) Это правильный способ обмена списком между Боссом & Работник?
2) Я столкнулся с двусмысленным наследованием в своем коде. Как я могу это решить?
ThreadClass
#include <pthread.h>
class ThreadClass
{
public:
virtual int start();
virtual void join();
virtual void execute() = 0; //Each derived class will implement this
virtual ~ThreadClass() {}
ThreadClass() {}
private:
ThreadClass* Tptr;
};
Босс
#include "ThreadClass.h"
#include <list>
class Boss : public virtual ThreadClass
{
public:
virtual void execute();
Boss() {}
~Boss() {}
protected:
std::list<int> Mylist; //To be shared with the worker
};
работник
#include "ThreadClass.h"
#include "Boss.h"
class Worker : public Boss, public ThreadClass //Getting error:Ambiguous ThreadClass
{
public:
virtual void execute();
Worker() {}
~Worker() {}
};
работник наследует от Boss & ThreadClass потому что:
1) Работник необходим доступ к списку из Boss
2) работник должен резьб функции от ThreadClass
У меня есть ваше мнение. Работник "не является" Боссом, чтобы унаследовать его. – cppcoder