C++友元

来源:互联网 发布:安徽宝德网络 编辑:程序博客网 时间:2024/06/14 04:09



//关键字friend//1/友元函数//当一个函数成为一个类的友元函数,则该函数可以使用该类的私有成员//2.友元类//当类1成为类2的友元类,那么类1的所有方法就成为类2的友元方法//友元是单向的A是B的友元,B不一定是A的友元#include <iostream>using namespace std;class Cls2;class Cls{private:    int a;    int b;public:    //声明一个友元函数    friend int sum(Cls &s1,Cls &s2)    {        return s1.a+s2.b;    }    ;    int add(Cls2 &c1,Cls2 &c2);};class Cls2{private:    int x;    int y;public:    //在Cls下的add方法,是Cls2(当前类的友元方法)    friend int add(Cls2 &c1,Cls2 c2)    {        return c1.x+c2.y;    };    };//友元类class ClsA{private:    int a;    int b;        friend class ClsFreind;        //也是构造方法的一中public:    ClsA(int x,int y):a(x),b(y)    {        };};class ClsFreind{public:    void add(ClsA &c)    {        cout<<c.a+c.b<<endl;    };};int main(int argc, const char * argv[]) {    // insert code here...    std::cout << "Hello, World!\n";        ClsA A(4,6);    ClsFreind cf;    cf.add(c1);    return 0;}


0 0
原创粉丝点击