The override keyword (C++11) tells the compiler you intend to override a virtual function. If you make a mistake, you get a compile error. Without override: void Draw() { } might accidentally create a new function instead of overriding draw() (different capitalization).
No error, just wrong behavior. With override: void Draw() override { } produces a compile error because there's no base class function named Draw to override. The typo is caught immediately.
Always use override when overriding virtual functions. It's free documentation and catches bugs at compile time instead of runtime.