在受保护的部分而不是在公共场合宣布友谊有什么意义吗?例如在这段代码中:
class Shape {
//...
protected:
friend ostream& operator<<(ostream& os, const Shape& s);
virtual void print(ostream& os) const = 0;
};
[注意 Shape 是抽象的]
我可以把朋友和函数声明公开吗?谢谢!
在受保护的部分而不是在公共场合宣布友谊有什么意义吗?例如在这段代码中:
class Shape {
//...
protected:
friend ostream& operator<<(ostream& os, const Shape& s);
virtual void print(ostream& os) const = 0;
};
[注意 Shape 是抽象的]
我可以把朋友和函数声明公开吗?谢谢!
在受保护的部分而不是在公共场合宣布友谊有什么意义吗?
不。无论朋友声明出现在类定义的公共、受保护或私有部分中,朋友类都具有相同的访问级别。 关联
我可以把朋友和函数声明公开吗?
因此,是的,在您的班级的私有、公共或受保护部分中是否找到声明并不重要。