Question.2
A developer defines a motor interface:
class IMotor {
public:
virtual void setSpeed(int speed) = 0;
virtual void stop() = 0;
virtual ~IMotor() = default;
};
void emergency_shutdown(IMotor* m) {
m->stop();
}Why does emergency_shutdown take IMotor instead of a specific motor type?