我正在開發一個使用老闆 - 工人模型模式的代碼。我有個疑問。 Boss將添加到的列表是Boss類的成員。 爲了讓工作人員訪問它,我使Worker類從Boss繼承。老闆 - 工人模型設計
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() {}
};
工人從首領012繼承個ThreadClass因爲:
1)工人需要從老闆
2訪問列表)工人需要從ThreadClass
我明白了你的觀點。工人「不是」從他那裏繼承的老闆。 – cppcoder