//passing arguments to a base class constructor p491classBulk_item: Publicitem_base{ Public: Bulk_item (ConstSTD::string& Book,Doublesales_price,std::size_t Qty =0,DoubleDisc_rate =0.0): Item_base (Book,sales_price), Min_qty (qty), Discount (disc_rate) {}};
//Use the default argument p491 in a derived class constructorclassBulk_item: Publicitem_base{ Public: Bulk_item (ConstSTD::string& Book,DoubleSales_price =0.0, std::size_t qty =0,DoubleDisc_rate =0.0): Item_base (Book,sales_price), Min_qty (qty), Discount (disc_rate) {}};//define the Disc_item class p492classDisc_item: Publicitem_base{ Public: Disc_item (ConstSTD::string& book ="",DoubleSales_price =0.0, std::size_t qty =0,DoubleDisc_rate =0.0): Item_base (book, Sales_price), Quantity (qty), Discount (disc_rate) {}protected: std::size_t quantity; Doublediscount;};// Refactoring//re-implement Bulk_item to inherit disc_itemp493classBulk_item: Publicdisc_item{ Public: Bulk_item (ConstSTD::string& book ="",DoubleSales_price =0.0, std::size_t qty =0,DoubleDisc_rate =0.0): Disc_item (book,sales_price,qty,disc_rate) {}//I don't know much . DoubleNet_price (std::size_t)Const;};
C + + Primer The constructor form in these examples is not quite understood in the 15th chapter