标签:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
/*15.2.1. 定义基类*/
class item_base
{
private:
std::string isbn;
protected:
double price;
public:
item_base(const std::string& book="",double sale_price=0.0):isbn(book),price(sale_price){}
std::string book()const{return isbn;}
virtual double net_price(size_t n)const{
return n*price;
}
virtual ~item_base(){}
};
/*定义派生类
在书店应用程序中,将从 Item_base 类派生 Bulk_item 类,因此
Bulk_item 类将继承 book、isbn 和 price 成员。Bulk_item 类必须重定义
net_price 函数定义该操作所需要的数据成员: */
class bulk_item:public item_base
{
public:
double net_price(size_t )const;
private:
double discount;
std::size_t mity;
};
/*因为每个派生类对象都有基类部分,类可以访问共基类的
public 和 protected 成员,就好像那些成员是派生类自己的
成员一样。*/
double bulk_item::net_price(size_t cnt)const
{
if(cnt>=mity)
return cnt*(1-discount)*price;
else
return cnt*price;
}
int main()
{
}
标签:
原文地址:http://www.cnblogs.com/yanliang12138/p/4398728.html