美文网首页
C++学习第8课,友元函数

C++学习第8课,友元函数

作者: Mr小熊_1da7 | 来源:发表于2019-06-09 23:44 被阅读0次

    0 先上代码


    #include <iostream>

    using namespace std;

    class Port {

    private:

    int x;

    int y;

    public:

    Port(){}

    Port(int x,int y):x(x),y(y){}

    ~Port(){}

    friend void setPort(Port &per,int x,int y);

    friend int get_x(Port &per);

    friend int get_y(Port &per);

    };

    void setPort(Port &per,int x,int y)

    {

    per.x = x;

    per.y = y;

    }

    int get_x(Port &per)

    {

    return per.x;

    }

    int get_y(Port &per)

    {

    return per.y;

    }

    int main(int argc, char **argv)

    {

    Port per(1,2);

    cout << "x = "<<get_x(per)<<", y = "<<get_y(per)<<endl;

    setPort(per,2,3);

    cout << "x = "<<get_x(per)<<", y = "<<get_y(per)<<endl;

    return 0;

    }


    1 存在的原因

    由于不同的函数无法修改类的私有参数,于是如果需要使用类的私有参数,就需要定义很多的公有函数,作为参数修改的方法。

    友元函数可以直接调用类的私有参数的。

    2 友元函数的使用。

    友元函数的申明和定义和调用和普通函数一模一样。

    *不过需要在类里说明,该函数为类的友元函数。

    friend void setPort(Port &per,int x,int y);

    friend int get_x(Port &per);

    friend int get_y(Port &per);

    相关文章

      网友评论

          本文标题:C++学习第8课,友元函数

          本文链接:https://www.haomeiwen.com/subject/okjoxctx.html