override Keyword

What does this code do?

class Base {
public:
    virtual void process(int x) const;
};
class Derived : public Base {
public:
    void process(int x) override;
};
A

Compile error: override cannot be used with non-pure virtual functions

B

Compiles fine: Derived::process overrides Base::process

C

Compile error: the signatures don't match because Derived::process is missing const, and override catches this

D

Compiles fine: override is just a comment-like hint to other developers