标签:
#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