//15.14 重新定义bulk_item和item_base类,使每个类只需定义一个构造函数
#include<iostream>
#include<string>
using namespace std;
class item_base
{
public:
item_base(const string &book="",double sales_price=0.0):
isbn(book),price(sales_price){}
string book()const
{
return isbn;
}
virtual double net_price(size_t)const
{
return price*n;
}
virtual ~item_base(){}
private:
string isbn;
protected:double price;
};
class bulk_item :public item_base
{
public:
bulk_item(const string &book="",double sales_price=0.0,
size_t qty=0,double disc=0.0):
item_base(book,sales_price),min_qty(qty),discount(disc){}
double net_price(size_t cnt)const
{
if (cnt > min_qty)
return cnt*(1 - discount)*price;
else
return cnt *price;
}
private:
size_t min_qty;
double discount;
};
15.14
最新推荐文章于 2024-07-22 10:33:20 发布