有一个很蠢的问题,其实一般也不太可能这样写,不过C++Primer上讲解内容时用来举例子,突发奇想试下它们的区别,结果郁闷了...
class Quote
{
protected:
double price = 0.0;
};
class Bulk_quote : public Quote
{
public:
double test() { return price; }
};
这个不报错
class Quote
{
friend class Bulk_quote;
protected:
double price = 0.0;
};
class Bulk_quote :
{
public:
double test() { return price; }
};
这个报错了
没有对象怎么访问它的成员呢。你要么在
Bulk_quote
中定义一个Quote
对象,然后通过这个对象访问price
。要么就是继承了,也就是第一种方式。