To add to what Manfred said, it is a default constructor: it is just a default constructor with a optional argument. If you omit the argument, it is a default constructor. It you don't, it is a parametrised constructor.
Any parameter in C++ can be optional, provided there are no non-optional parameters to the right of it. All you have to do it provide the default value as part of the function declaration.
MSDN[
^] has a reasonable explanation.