Which of the following differentiates between overloaded functions and overridden functions ? (A) Overloading is a dynamic or runtime binding and overridden is a static or compile time binding. (B) Overloading is a static or compile time binding and overriding is dynamic or runtime binding. (C) Redefining a function in a friend class is called overloading, while redefining a function in a derived class is called as overridden function. (D) Redefining a function in a derived class is called function overloading, while redefining a function in a friend class is called function overriding.