У меня проблемы с работой над моим текущим проектом. Проект состоит из взятия строк данных из файла и создания массива объектов класса, которые наследуют базовый класс.Как создать массив унаследованных объектов класса?
Итак, это то, что я понимаю, до сих пор:
class BaseClass {
// create empty and non-empty constructor
}
class SubClass : public BaseClass {
// create constructor specifically for this class
}
int main() {
BaseClass *array[size];
array[index] = new SubClass();
return 0;
}
Поскольку SubClass наследует BaseClass, когда я добавить новый объект в массив должен быть типа SubClass, правильно?
Когда я отлаживаю программу и смотрю на этот объект, это не позволяет мне указывать на какой-либо из методов/переменных SubClass для манипуляций, которые я должен уметь делать.
Теперь, когда я искал ответы, которые я наткнулся статического литья, поэтому я попробовал его в меру:
(static_cast<SubClass*>(array[index])->subclass_variable) = some_value
Но это, кажется, не работает, либо любая помощь с этим было бы значительно оценили.
ОК, а в чем собственно вопрос? –
Как создать массив унаследованных объектов класса, в которых я могу получить доступ и манипулировать индивидуально. –