我正在开发一个使用老板 - 工人模型模式的代码。我有个疑问。 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