【发布时间】:2020-02-22 19:10:01
【问题描述】:
我是 C++ 新手,我有以下疑问。在抽象工厂模式中,派生类可以有自己的数据成员。例如,
class AbstractBaseclass
{
public:
virtual void somemethod() = 0;
}
class derived1: public AbstractBaseclass
{
public:
void somemethod()
{
.......
}
}
class derived2: public AbstractBaseclass
{
public:
int dataMember; ------------------> Is this correct?
void somemethod()
{
.......
}
}
class factory
{
public:
static AbstractBaseclass *createObject(int type)
{
<code to create object based on the passed type>
}
}
在我的例子中,我有很多派生类。只是在这里提供布局。我的疑问是:派生类2中是否可以有一个数据成员?并像下面一样访问它
factory *fObj = new factory();
AbstractBaseclass *baseObj = fObj->createObject(2);
baseObj.dataMember = 3;
【问题讨论】:
标签: c++ abstract-factory