#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 n)const
{
return n*price;
}
private:
string isbn;
protected:
double price;
};
class sales_item//派生类
{
public:
sales_item():p(0){
}
sales_item(const item_base&);
sales_item(const sales_item&i):p(i.p){
}
~sales_item()
{
}
sales_item& operator=(const sales_item&)
{
return *this;
}
private:
item_base *p;
};
int main()
{
item_base b("aaa",0);
sales_item a;
return 0;
}
#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 n)const
{
return n*price;
}
private:
string isbn;
protected:
double price;
};
class sales_item//派生类
{
public:
sales_item():p(0){
}
sales_item(const item_base&);
sales_item(const sales_item&i):p(i.p){
}
~sales_item()
{
}
sales_item& operator=(const sales_item&)
{
return *this;
}
private:
item_base *p;
};
int main()
{
item_base b("aaa",0);
sales_item a;
return 0;
}