Overloading a method (or function) in C++ is the ability for functions of the similar name to be defined as long as these methods have dissimilar signatures (different set of parameters). Method overriding is the ability of the inherited class rewriting the virtual method of the base class.