有一个很蠢的问题,其实一般也不太可能这样写,不过C++Primer上讲解内容时用来举例子,突发奇想试下它们的区别,结果郁闷了...
class Quote
{
friend class Bulk_quote;
private:
string bookNo;
public:
Quote() = default;
Quote(const string &book, double sales_price) :
bookNo(book), price(sales_price) {}
virtual ~Quote() = default;
virtual double net_price(size_t n) const
{return n * price;}
string isbn() const {return bookNo;}
int i = 1;
protected:
double price = 0.0;
};
class Bulk_quote
{
public:
double test() { return price; }
};
这个报错
class Quote
{
private:
string bookNo;
public:
Quote() = default;
Quote(const string &book, double sales_price) :
bookNo(book), price(sales_price) {}
virtual ~Quote() = default;
virtual double net_price(size_t n) const
{return n * price;}
string isbn() const {return bookNo;}
int i = 1;
protected:
double price = 0.0;
};
class Bulk_quote : public Quote
{
public:
double test() { return price; }
};
这个没有...