精华内容
下载资源
问答
  • 如下配置: [working:/project1/branches/V1.0.X] ...我们可以知道:user2用户对于V1.0.X有读写权限,而user2对于此分支仅有读权限。 [working:/project1/branches/V1.0.X/src] user2 = rw user1 = r...

    如下配置:

    [working:/project1/branches/V1.0.X]
    @backup = r
    user1=rw
    user2=r


    我们可以知道:user2用户对于V1.0.X有读写权限,而user2对于此分支仅有读权限。

    [working:/project1/branches/V1.0.X/src]
    user2 = rw
    user1 = r

    然而加了下面的配置后,我们可以知道:
    user2用户本来对于src具有从其根目录继承来的读权限,然而通过此处的设置,user2便拥有了读写权限。
    user2用户本来对于src具有从其根目录继承来的读写权限,然而通过此处的设置,user1便仅拥有了读权限。

    权限配置的继承关系值得深入思考和学习。

    本文转自博客园zhyiwww 的博客,原文链接:http://www.blogjava.net/zhyiwww/,如需转载请自行联系原博主。

    展开全文
  • 继承方式 继承方式有三种,分别是公有,私有,和受保护继承。 公有 class Base{}; class Dirved1:public{ ...某个类成员访问权限受到两个因素影响。 一是基类在该成员访问符 二是派生类在派生列表中访问符

    继承方式

    继承方式有三种,分别是公有,私有,和受保护继承。

    • 公有
    class Base{};
    class Dirved1:public{
    };
    
    • 私有
    class Base{};
    class Dirved1:private{
    };
    //默认情况下是私有
    class Dirved1:{
    }
    
    • 受保护
    class Base{};
    class Dirved1:protected{
    };
    

    访问权限

    某个类的成员的访问权限受到两个因素影响。

    • 一是基类在该成员的访问符
    • 二是派生类在派生列表中的访问符

    详细说明

    • 当派生类是public继承的,基类的访问权限会完整的继承下来。public还是public,- portected还是protected,private还是private。
    • 如果是protected继承的,那么基类的public成员会变为portected,其他和基类一样
    • 如果是 private继承的,那么基类的public和protected成员会变为private。
    class Base{
    public:
        int a;
    protected:
        int b;
    private:
        int c;
    };
    
    class derivied:public Base{
        int f1(){return a;}
        int f2(){return b;}
        //int f3(){return c;}
    };
    
    class derivied1:protected Base{
        int f1(){return a;}
        int f2(){return b;}
        // int f3(){return c;} c仍然是不可访问的
    
    };
    
    class derivied2:private Base{
        int f1(){return a;}
        int f2(){return b;}
        // int f3(){return c;} c仍然是不可访问的
    
    };
    
    class derivied3:public derivied2{
        int f1(){return a;} //访问不到,因为a在derivived2是private权限。
    }
    
    int main(){
        derivied d;
        d.a = 10;
        derivied1 d1;
        d1.a = 10; //不可在类外访问,因为是protected权限。
        
    }
    

    友元的继承关系

    按道理,基类的友元关系应该是不能够被派生类继承的。但是实际上

    class Base{
    friend class fri;
    public:
        int a;
    protected:
        int b;
    private:
        int c;
    };
    
    
    class derivied:public Base{
    public:
    	int j;
        int f1(){return a;}
        int f2(){return b;}
        //int f3(){return c;}
    };
    
    class fri{
    public:
    	//正确, fri是基类Base的友元
        int f(Base b){return b.c;}
        //错误:fri不是派生类derivied的友元。
        int f1(derivied d){return d.j;} 
    	//正确:fri是基类的友元
        int f2(derivied d){return d.c;}
    };
    

    虽然说derivied的友元并不是fri,但是由于c是基类的,所以它对于友元的权限与基类的权限和继承方式的权限有关。

    展开全文
  • 总结:不能说子类继承父类A,子类就可以把父类成员变量当成自己一样直接访问,子类对父类成员变量访问权限和其他类对A访问权限都受到成员变量访问修饰符影响,具体规则见java访问修饰符说明。...

    总结:不能说子类继承父类A,子类就可以把父类的成员变量当成自己的一样直接访问,子类对父类成员变量的访问权限和其他类对A的访问权限都受到成员变量访问修饰符的影响,具体规则见java访问修饰符的说明。但是不管父类的成员变量访问修饰符是什么,子类创建的对象中除了子类自己的成员变量外还是会有父类的成员变量。

    展开全文
  • 不同的继承方式对访问权限的影响: (1)c++中不同的继承方式下,子类的成员对外的访问权限(也就是在程序中一个普通的子类对象的访问权限) 1.public继承:父类成员的访问级别原封不动的转移到子类中来; 2....

    c++继承关系中的访问控制,子类与父类内部以及对外的访问权限

    关于继承:
    子类拥有父类的所有成员变量和成员函数,子类可以拥有父类没有的方法和属性,子类就是一种特殊的父类,子类对象可以当作父类对象使用。
    不同的继承方式对访问权限的影响:
    (1)c++中不同的继承方式下,子类的成员对外的访问权限(也就是在程序中一个普通的子类对象的访问权限)
    1.public继承:父类成员的访问级别原封不动的转移到子类中来;
    2.protected继承:父类中public和protect成员都变成protected的,private还是private;
    3.private继承:父类中所有成员在子类中都表现为private;
    (2)注意:***private成员在子类中依然是存在的,但是,不论在子类中,还是通过子类的对象,都不能访问父类的private对象,也不论是哪一种继承方式。***其他的父类的public、protected成员都可以在子类内部访问到,能不能通过子类的对象访问到,要通过继承方式和其再父类中的权限判断。

    对于一个类来说,其成员访问类型的设置原则为:
    (1)需要能被开放的,被类对象访问,被外界修改的,设置为public
    (2)不能被外界访问、修改的,只在类内部访问的,设置为private
    (3)只能在类内和子类成员访问,但是不能被外界访问的,设置为protected

    class base
    {
    public:
        base(){}
        ~base() {}
        void p()
        {
            cout<<"i ama zn"<<endl;
        }
    private:
        void q()
        {
            cout<<" I am fdl"<<endl;
        }
    protected:
        void y()
        {
            cout<<"this is protected"<<endl;
        }
    
    };
    
    class derive :public base
    {
    public:
        void K()
        {
            //q();//不可访问
        }
        void h()
        {
            y();
        }
    };
    
    展开全文
  • 编程中偶尔会忘记,类的继承属性及访问权限,现在把它写下来,方便以后查看。 C++类继承的三种方式: 1、public (公有的)=既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数(即类外)引用。 2、...
  • 1、当不同包中不同类且他们之间没有继承关系时,一个类只能获得另一个由public修饰成员,且这个类必须是由public修饰,如果没有修饰将无法获得类中任何属性 例如class A{ }和public class B{} 且他们是...
  • 根据软考中一道题,做一个小小例子,看完以后就会对继承关系有个清晰了解,试题:在C++语言中,已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护方法F3:类P和类Q是类O派生类 ...
  • 如果没有关系:什么都不能访问 如果是继承关系:同一个包中则除了private均可访问,不同包中除了private和default均可访问 也就是public谁都能访问,protected子类和同一个包类可以访问,default同一个包可以访问...
  • a、类访问权限(修饰符):  public:跨程序集,命名空间,必须要using引用  internal:默认,自己当前命名空间范围,不可以跨越使用  成员访问权限(修饰符):  public:公共,可以跨空间、跨程序集...
  • 12.类关系——继承关系 1、继承关系 1.1 继承概念 ·继承机制是面向对象程序设计不可缺少关键概念,是实现代码可重用根基,是提高软件系统可拓展性与可维护性主要途径。 ·所谓继承是指一个类定义可以...
  • 刚刚突然脑子有点短路,一下子记不起来子类继承父类的成员范围了,然后就百度了一下。...和他妈的继承范围有什么关系? 自己没学好还出来祸害,我看见他的博文访问量还挺高的,在这里我虽然很不爽,但是还不...
  • 继承关系

    2015-11-01 19:53:57
    1.访问控制和继承 ...派生类也没有什么特殊,和用户代码具有一样的权限:它可以访问public成员但是不可以访问private成员。 还有一种叫做protected成员,它希望允许派生类访问,但是禁止其他用户访问这些成员。p
  • C++中三种继承关系

    2017-11-14 21:46:00
    C++中三种继承关系 先看类中声明成员时三种访问权限 public: 可以被任意实体访问 protected: 只允许子类及本类成员函数访问 private: 只允许本类成员函数访问 在类继承时也是 public、protected 和 ...
  • 针对RBAC96模型中私有权限实现方法的不足,分析了现有改进方案的研究现状和不足,引入继承属性的概念,通过继承属性值实现权限公有与私有的划分,提出了角色继承时只创建继承关系的继承方案。引入权限重载概念,给出...
  • 多重继承关系的初始化顺序是: 父类属性==>父类构造方法==>子类属性==>子类构造方法 不能被子类继承的父类成员**????* private成员 子类和父类不在同一个包,使用默认访问权限的成员 构造方法 构造方法不会...
  • 针对RBAC96模型中私有权限实现方法的不足,分析了现有改进方案的研究现状和不足,引入继承属性的概念,通过继承属性值实现权限公有与私有的划分,提出了角色继承时只创建继承关系的继承方案。引入权限重载概念,给出...
  • 子类和父类不在同一个包,使用默认访问权限的成员 构造方法 构造方法不会被重写,因为不能被继承。 方法重写的规则:方法名相同;参数列表相同;返回值类型相同或者是其子类;访问权限不能严于父类  super...
  • C++学习笔记:面向对象的继承特性1.什么是继承2.类的继承案例3.类继承中的权限管控3.1 C++类中的访问权限管控回顾3.2 类继承时的三种权限设置对派生类的影响4.继承体系下子类和父类的关系4.1 子类和父类本质上是2个...
  • 其中的继承,描述了一种“is-a”的关系,可以理解为子集合和父集合。子类可以继承父类的方法、域、构造方法。但是,java中的变量都是有权限的,子类继承的时候要不要考虑呢?class A{ public int x=10; public ...
  • 目录 1、引入 2、包含(公有继承)和私有继承 ...6.1多重继承的引入 6.2多重继承的问题与改进 6.3虚基类 1、引入(使用公有继承) /*关闭隐式转换原因*/Student doh("xiaoming",10); //使用构造函数...
  • 【类关系】继承关系

    2019-09-07 12:27:54
    继承 概念 是指一个类定义可以基于另外一个已经存在类,即子类基于父类,...让类与类产生了一个关系,是多态前提 缺点 让类耦合性增强。这样某个类改变,就会影响其他和该类相关类。 原则:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,517
精华内容 606
关键字:

权限的继承关系