163. Abstraction

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?

Need Help? Refer to the Quick Guide below

Select Answer