text: what do u mean by function overidding in context with c++ language?   function overloading: this means having 2 or more functions in the same locality with same names but different number or types of parameters.  ex: void setastring(const char* val) {m_somestring = val;} void setastring(const std::string& val) {m_somestring = val;} etc.. the functions are distiguinished based on the parameters.  function overriding: two functions are said to be overidden  when they share the same name and/or even the same parameters(number and type) but are part of diff classes, one of which is inhereted from other.  ex: class b { virtual void saysomething(){::messagebox(null, "hello", null, mb_ok);}  }   class a : public class b { virtual void saysomething(){::messagebox(null, "no", null, mb_ok);} }  the result of calling saysomething depends on the subtype of the object  in short: overloading is a method that allows defining multiple member functions with the same name but different signatures. the compiler will pick the correct function based on the signature. overriding is a method that allows the derived class to redefine the behavior of member functions which the derived class inherits from a base class. the signatures of both base class member function and derived class member function are the same; however, the implementation and, therefore, the behavior will differ.