友元关系

来源:互联网 发布:透视的屏幕软件 编辑:程序博客网 时间:2024/05/17 07:18

友元关系:为不同的类或普通函数提供访问本类的访问权限。

1. 友元函数
友元函数是在勒种用关键字friend修饰的非成员函数。友元函数可以是一个普通的函数,也可以是其他类的成员函数。虽然他不是本类的成员函数,但是在它的函数体中可以通过对象名访问类的私有和保护成员

class A{public:    void HelloA(void);    friend void Hello(void);private:    int ME_A;}void Hello(A CLASS_A_name){    函数体    函数体中可以访问类 A 的私有成员}

2. 友元类
同友元函数一样,一个类可以将另一个类声明为友元类。若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员

class A{public:    friend class B;private:        int A_DATA;}class B{public:    void Hello_classA(A Aclass_name);private:    int B;}void B::Hello_classA(A Aclass_name){     函数体     在函数体中可以访问类A的私有成员和成员函数}int main(void){ B b_name; A Aclass_name; b_name.Hello_classA(Aclass_name);return 0;}

友元类的注意事项:

1. 友元关系是不能传递

2.友元关系是单向的

3. 友元关系是不被继承的

原创粉丝点击