Доступ к данным наследника хранимого в массиве типа базового класса
Я имею пару классов унаследованных от базового. Как хранить их в массиве/векторе так, чтобы при помещении в хранилище, индивидуальные данные унаследованного класса не срезались и я мог с ними в дальнейшем взаимодействовать?
#include <iostream>
// Базовый класс
class Script {
public:
virtual void Start();
virtual void Update();
};
// Наследуемые
class First : public Script {
public:
int mass = 0;
};
class Second : public Script {
public:
int width = 0;
float height = 0.f;
};
//
void main(){
std::vector<Script*> scripts;
scripts.push_back(new First);
scripts.push_back(new Second);
}