Because if there exists any user-defined constructor, then there is no synthesized default constructor. And if we want to construct a default initialized Bulk_quote
type object, all classes must have user-defined or synthesized default constructor in inheritance hierarchy. Thus we define a default constructor for Disc_quote
.
If we remove that constructor, the complier will not synthesized one for us, thus we could only create Bulk_quote
object by providing arguments consistent with other constructors.