1. public: 程序的任何地方都可以访问.
2 protected: 只有类本身及其派生类和其友元函数,友元类可以访问.
3 private: 只有类本身及其友元函数,友元类可以访问.
4 friend: 用于定义友元函数友元类. 在类里声明的一个普通函数,在前面加上friend修饰符,这个函数就可以访问该类的一切成员,包括private成员.
1、当在类的内部使用这三个关键字,表示访问权限:
public: 可以被任意访问。
protected: 只允许子类和本类的成员函数访问。
private: 只允许本类的成员函数访问。
friend关键字是C++中的一种访问控制机制,它可以让定义在类外部的函数或其他类成员函数访问类中的私有数据成员和私有成员函数。简单来说,friend关键字就是为外部函数和类增加访问当前类的权限。
例如,在一个类中定义一个友元函数,该函数可以访问该类的私有成员,比如:
class MyClass {
private:
int x;
public:
friend void friendFunction(MyClass &obj);
};
void friendFunction(MyClass &obj) {
obj.x = 10;
}
在上面的例子中,friendFunction函数是MyClass类的友元函数,因此它可以访问MyClass类的私有成员x。当friendFunction函数被调用时,它将参数obj的x赋值为10,这个赋值操作是有效的,因为friendFunction函数是MyClass类的友元函数,可以访问MyClass类的私有成员x。