友元函数和友元类

来源:互联网 发布:人工智能专业大学排名 编辑:程序博客网 时间:2024/06/05 23:32

友元函数

#include <iostream>using namespace std;class A{private:    int i;    friend void FriendFun(A *, int);//说明语句位置没有关系public:    void MemberFun(int);};void FriendFun(A *ptr, int x){//友元函数通过对象参数   访问私有带护具成员    ptr->i = x;}

友元类

#include <iostream>using namespace std;class A{    friend class B;//B是A的友元(朋友)public:    A(int x = 5){this->x = x;}//A(int x = 5):x(x){}    void Display(){cout << x <<  endl;}private:    int x;};class B{public:    //所以在B中可以访问A中的私有数据成员    void Set(int i){Aobject.x = i;}    void Display(){Aobject.Display();}private:    A Aobject;//B中有个A,A是B的子属性};int main(){    B t2;    t2.Display();    t2.Set(8);    t2.Display();    return 0;}


0 0
原创粉丝点击