• C++之:友元类


    一、文章来由

    上一篇写了友元函数,这一次写一个姊妹篇,继续深入探究一下友元类。

    二、定义

    友元类的全部成员函数都是还有一个类的友元函数。都能够訪问还有一个类中的隐藏信息(包含私有成员和保护成员)。

    当希望一个类能够存取还有一个类的私有成员时,能够将该类声明为还有一类的友元类。定义友元类的语句格式例如以下:

    friend class 类名;

    当中:friend和class是关键字,类名必须是程序中的一个已定义过的类。

    三、样例

    #include <iostream>
    using namespace std;
    
    class Radius
    {
        friend class Circle;   //声明Circle为Radius的友元类
        friend void Show_r(Radius &n);     //声明Show_r为友元函数
    
    public:
    Radius(int x)
    {
        r = x;
    }
    ~Radius()
    {
    }
    
    private:
        int r;
    };
    
    void Show_r(Radius &n)
    {
        cout<<"圆的半径为: "<<n.r<<endl;    //调用Radius对象的私有成员变量r
    }
    
    class Circle
    {
    public:
        Circle(){}
        ~Circle(){}
    
    double area(Radius a)
    {
        s = a.r * a.r * 3.1415926;             //调用Radius对象的私有成员变量r
        return s;
    }
    
    private:
        double s;
    };
    
    int main(int argc, char *argv[])
    {
        Radius objRadius(9);
        Circle objCircle;
    
        Show_r( objRadius );
        cout<<"面积为:"<<objCircle.area(objRadius)<<endl;
    
        return 0;
    }
  • 相关阅读:
    [转载红鱼儿]delphi 实现微信开发(1)
    Devexpress VCL Build v2013 vol 14.1.3 发布
    [翻译]LSP程序的分类
    睡眠不好
    LuaStudio 9.27 去10分钟退出暗桩板
    vs2012 提示 未能正确加载 "Visual C++ Language Manager Package" 包 的解决办法
    岁月蹉跎
    重新安装系统之前备份
    运动会
    乱思
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7092543.html
Copyright © 2020-2023  润新知