My question is simple. When do we need to have a default constructor? Please refer to the code below:
class Shape { int k; public: Shape(int n) : k
The default constructor is generated only if you have not defined any other constructors.
Supposedly, if you need some special initialization in the class, the default constructor would not do the right thing.