Suppose we want two constructors for a class representing complex numbers:
Complex (double re, double img) // construct from cartesian coordinates
Complex (double A, double w) // construct from polar coordinates
It is better to add static methods with appropriate names and let them to create the objects.
static Complex createFromCartesian(double re, double img); static Complex createFromPolar(double A, double w);