• 继承、成员访问权限


    //add helo 2014.6.4

    类成员的访问位置:

    1.类定义范围内,主要是指函数定义的范围内,该范围内类成员访问无限制。

    2.类定义范围外,如在main()函数中访问,有访问权限限制。

    //add end

    1.用户访问继承类对象权限:

    即在类定义外访问类对象成员数据或调用成员函数,例如如下代码:

     1 class base
     2 {
     3 public:
     4 int item_public;
     5 private:
     6 int item_private;
     7 };
     8 
     9 int main()
    10 {
    11  base a;
    12 //用户访问类对象成员
    13  a.item_public=0;//ok, 访问权限为public
    14  a.item_private=1; //error, 访问权限为private
    15 }

    a.用户访问继承类对象的成员时,可将类成员分为两类

    • 继承类自定义成员:由继承类定义的权限决定
    • 基类成员:由继承方式决定访问权限 
    class base
    {
    public:
    int item_public;
    protected:
    int item_protected;
    };
    
    class derived :private base
    {
     public:
    int item_d_public;
    int func()
    {
    return  item_public;//基类成员相对继承类成员的访问权限不因继承的方式改变
    }
    }
    
    int main()
    {
     derived d;
    d.item_d_public //ok;
    d.item_public //error ,此处item_public 对于用户的权限为private
                           //继承方式影响用户调用继承类对象基类部分的权限
    }

    b.继承方式影响用户调用继承类对象基类部分的权限,继承类内访问基类成员的权限不改变。

    2.成员访问的几种方式

    • 类内成员访问:类成员函数访问自己的成员变量,无权限限制。类成员函数访问基类成员,由基类访问控制权限决定。
    • 用户访问对象成员:如前。
  • 相关阅读:
    jQuery插件之jqzoom
    python数据分析画图体验
    python正则表达式,以及应用[下载图片]
    Python 程序如何高效地调试?
    从汉诺塔游戏理解python递归函数
    Python文本文件的输入输出操作学习
    Windows搭建python开发环境
    python循环综合运用
    Python参数传递,既不是传值也不是传引用
    使用python实现用微信远程控制电脑
  • 原文地址:https://www.cnblogs.com/helo-blog/p/3292604.html
Copyright © 2020-2023  润新知