Хорошо, я довольно неопытный программист, не говоря уже о C ++, так что терпите меня здесь. Я хотел, чтобы класс контейнера содержал указатель родительского класса, а затем использовал полиморфизм для хранения объекта дочернего класса. Дело в том, что я хочу вызвать одну из функций дочернего класса через указатель родительского класса. Вот пример того, что я имею в виду в коде:
class SuperClass
{
public:
int x;
}
class SubClass : public SuperClass
{
public:
void function1()
{
x += 1;
}
}
class Container
{
public:
SuperClass * alpha;
Container(SuperClass& beta)
{
alpha = beta;
}
}
int main()
{
Container cont = new Container(new SubClass);
}
(Я не уверен, что это правильно, я все еще очень шатаюсь по указателям. Надеюсь, это поможет понять, по крайней мере.)
Итак, я не совсем уверен, смогу ли я это сделать или нет. У меня есть скрытое подозрение, что ответ - нет, но я хочу быть уверен. Если у кого-то есть другой способ сделать что-то подобное, я буду рад это услышать.