zoukankan      html  css  js  c++  java
  • C++总结笔记(五)友元函数

    1. 如果A类中的函数想要访问B类中的成员,那么A中的该函数必须是B类中的友元函数。
    2. 为了使其他的成员函数直接访问类中的私有变量,即允许外面的类或者函数能访问该的私有变量或者受保护的变量,从而使两个函数共享一个函数。
    3. 提高效率,但是破坏了类的封装性,一般在操作符重载的时候可以用。

    #include<iostream>
    #include<string>
    using namespace std;

    class People
    {
     public:
      People(string name):n(name){};
      friend void getName(People p);
     private:
      string n;
    };


    void getName(People p)
    {
     cout<<p.n<<endl;
    }

    class Li;
    class Wang
    {
     public:
      Wang(string);
      void display(Li &);
     private:
      string name;
    };

    Wang::Wang(string n)
    {
     name = n;
    }

    class Li
    {
     public:
      Li(string);
      friend void Wang::display(Li &);
     private:
      string name;
    };

    Li::Li(string n)
    {
     name = n;
    }

    void  Wang::display(Li &l)
    {
     cout<<l.name<<endl;
    }
    int main()
    {
     People p("HCJ");
     getName(p);

     Wang w("WANG");
     Li l("Li");
     w.display(l);
    }

  • 相关阅读:
    MySQL客户端mysqladmin命令
    13 Linux磁盘管理
    12 Linux软件管理
    11 Linux压缩打包
    09 Linux输入输出
    08 LinuxACL控制
    07 Linux特殊权限
    06 Linux基本权限
    05 Linux用户管理
    04 Linux文件编辑
  • 原文地址:https://www.cnblogs.com/huochangjun/p/3099567.html
Copyright © 2011-2022 走看看