#include <iostream>
class EquationOfMotion
{
public:
// other attributes
virtual void findNextTimeStep() = 0;
};
class SystemModel
{
public:
EquationOfMotion* p_eom;
// other atributes
SystemModel(EquationOfMotion* new_p_eom)
{
p_eom = new_p_eom;
}
};
class VehicleEquationOfMotion: public EquationOfMotion
{
public:
VehicleEquationOfMotion(...){/* initialise attribute*/}
virtual void findNextTimeStep(){}
};
class Vehicle: public SystemModel
{
// ???? Implementation ?????
}
Vehicle
is a specialization of SystemModel
where p_eom
points to VehicleEquationOfMotion
.
I would like to initialise, an instance of VehicleEquationOfMotion
and point to it p_eom
in Vehicle
. I want it to be defined only within the scope of Vehicle
, and at the same time, not to use heap.
Is it even possible to reside VehicleEquationOfMotion
object inside Vehicle
without using the heap? (If not, please suggest where the design has gone wrong).
Might be helpful: I thought about the implementation in this question but ran into trouble (see the question).