zoukankan      html  css  js  c++  java
  • C++中的友元函数和友元类

    #include <iostream>
    using namespace std;

    class myClass1
    {
    public :
      myClass1():n(0){};

      void setn(int tmpn){this->n=tmpn;}

      void show(){cout<<n<<endl;}


    private: 

        //友元类
        friend class myClass2;
        //使用友元函数来改变myclass1中成员变量n的值
        friend void setnF1(myClass1 & tmpClass,int tmpn);

        int n;
    };

    class myClass2
    {
    public:
        //使用友元类中的成员函数来改变myclass1中成员变量n的值
         void setnF2(myClass1  & tmpClass,int tmpn){tmpClass.n=tmpn;}

    };

    void setnF1(myClass1 & tmpClass,int tmpn)
    {
         tmpClass.n=tmpn;
    }

    int main()
    {
        myClass1 p1;
        myClass2 p2;
        cout<<"p1的成员变量n默觉得:"<<endl;
        p1.show();

        cout<<"使用myClass1自己的成员函数设置后:"<<endl;
        p1.setn(100);
        p1.show();

        cout<<"使用友元函数设置后:"<<endl;
        setnF1(p1,101);
        p1.show();

        cout<<"使用友元类设置后:"<<endl;
        p2.setnF2(p1,102);
        p1.show();

        return 0;
    }

    运行结果:(点击图片可放大)

    QQ截图20140919120122

  • 相关阅读:
    Liunx服务器部署MySQL
    TCP/IP协议与Http、RPC和Socket
    InfluxDB简介
    nodeJS中的包
    什么是Solr,它能为我们解决什么问题,怎么用?
    tp基础补充
    用户流程
    已有模板与tp框架的结合 (前台)
    tp模板基础
    Smarty小结提纲
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6806757.html
Copyright © 2011-2022 走看看