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);
    }

  • 相关阅读:
    使用cout进行格式化
    20175324 《Java程序设计》第3周学习总结
    20175324第二周学习总结
    第三周学习总结
    JAVA第二周学习总结
    20175330第一周学习总结。
    20175330第一周学习总结
    指针
    数组总结(一)
    数组练习题A财务管理
  • 原文地址:https://www.cnblogs.com/huochangjun/p/3099567.html
Copyright © 2011-2022 走看看