Constructor Overloading or Default initialization?

Object1(int a, int b)
Object1(int a, int b, int c)

OR

Object1(int a, int b, int c = NULL)

in the 1st case I am overloading a constructor - one takes 3 args and another takes 2 args.
In 2nd case I am writing only 1 constructor and initializing c by default to NULL and it will get initialized to what ever value is passed (if at all)

Is there any preferred method? Which one should I use when?
I am guessing that if one of the arguments in const I will have to overload only. Am I right?
Topic archived. No new replies allowed.