Я новичок в 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;