C++中的friend
关键字允许其他类或函数访问私有和受保护成员。使用friend
是一种破坏封装的做法,但在某些情况下,它提供了必要的灵活性。
-
friend函数
- 定义:允许一个普通函数访问类的私有(
private
)和受保护(protected
)成员。 - 使用场景:当你需要一个函数访问类的内部成员,但不希望该函数是类的成员时。
- 示例代码:
class Box { private: double width; public: Box(double w) : width(w) { } friend void printWidth(Box box)
- 定义:允许一个普通函数访问类的私有(