If we don’t provide any custom constructors, the C++ compiler provides an automatic default constructor for our class for free.
The automatic default constructor will only initialize all member variables to their default values.
The simplest constructor we can provide is a custom default constructor that specifies the state of the object when the object is constructed. We define one by creating:
Cube has no return type!
We can also specify custom, non-default constructors that require client code to supply arguments
Cube::Cube(double length)
// one-argument ctor specifying initial length
A custom copy constructor is: