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

  • 相关阅读:
    资源-python 视频下载大全
    ubuntu 16.04(操作应用) -软件卸载
    资源-简历的相关知识
    centos (命令操作)-crontab命令
    ubuntu 16.04 (软件应用)-输入法
    ntp时间同步
    lvm空间扩容
    目录知识
    Linux下安装maven
    elasticsearch安装pinyin模块
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6806757.html
Copyright © 2011-2022 走看看