public,private,protected

转载 2016年05月30日 16:06:33

转自 http://www.cnblogs.com/qlwy/archive/2011/08/25/2153584.html


#include<iostream>

using namespace std;

//////////////////////////////////////////////////////////////////////////

class A       //父类

{

private:

    int privatedateA;

protected:

    int protecteddateA;

public:

    int publicdateA;

};

//////////////////////////////////////////////////////////////////////////

class B :public A      //基类A的派生类B(共有继承)

{

public:

    void funct()

    {

        int b;

        b=privatedateA;   //error:基类中私有成员在派生类中是不可见的

        b=protecteddateA; //ok:基类的保护成员在派生类中为保护成员

        b=publicdateA;    //ok:基类的公共成员在派生类中为公共成员

    }

};

//////////////////////////////////////////////////////////////////////////

class C :private A  //基类A的派生类C(私有继承)

{

public:

    void funct()

    {

        int c;

        c=privatedateA;    //error:基类中私有成员在派生类中是不可见的

        c=protecteddateA;  //ok:基类的保护成员在派生类中为私有成员

        c=publicdateA;     //ok:基类的公共成员在派生类中为私有成员

    }

};

//////////////////////////////////////////////////////////////////////////

class D :protected A   //基类A的派生类D(保护继承)

{

public:

    void funct()

    {

        int d;

        d=privatedateA;   //error:基类中私有成员在派生类中是不可见的

        d=protecteddateA; //ok:基类的保护成员在派生类中为保护成员

        d=publicdateA;    //ok:基类的公共成员在派生类中为保护成员

    }

};

//////////////////////////////////////////////////////////////////////////

int main()

{

    int a; 



    B objB;

    a=objB.privatedateA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见

    a=objB.protecteddateA; //error:基类的保护成员在派生类中为保护成员,对对象不可见

    a=objB.publicdateA;    //ok:基类的公共成员在派生类中为公共成员,对对象可见



    C objC;

    a=objC.privatedateA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见

    a=objC.protecteddateA; //error:基类的保护成员在派生类中为私有成员,对对象不可见

    a=objC.publicdateA;    //error:基类的公共成员在派生类中为私有成员,对对象不可见



    D objD;

    a=objD.privatedateA;   //error:基类中私有成员在派生类中是不可见的,对对象不可见

    a=objD.protecteddateA; //error:基类的保护成员在派生类中为保护成员,对对象不可见

    a=objD.publicdateA;    //error:基类的公共成员在派生类中为保护成员,对对象不可见



    return 0;

}

php面向对象之private、protected、public三者权限控制区别

private protected public 本类内 Y Y Y 子类内 N Y ...
  • u011436736
  • u011436736
  • 2016年08月15日 01:17
  • 7601

深入理解C++中public、protected及private用法

深入理解C++中public、protected及private用法 投稿:shichen2014 字体:[增加 减小] 类型:转载 这篇文章主要介绍了C++中public、pro...
  • leolinsheng
  • leolinsheng
  • 2015年01月13日 10:42
  • 6010

用例子理解Java权限修饰符(private,default,protected和public)

权限修饰用于限定对象起作用的范围,也就是,在什么地方我们能够访问到这个对象,在什么地方我们访问不到这个对象了,这里的对象是指属性、方法、类和接口。 一、权限修饰符作用于属性和方法。private...
  • l294265421
  • l294265421
  • 2015年03月12日 11:23
  • 2362

private,public,protected,还有default四种之间的区别

  • 2015年11月23日 22:34
  • 4KB
  • 下载

说出作用域public, private, protected,以及不写得区别

  • 2013年04月22日 10:27
  • 11KB
  • 下载

C# 修饰符:private protected internal public

  • 2010年06月09日 11:18
  • 189KB
  • 下载

public_protected_private用法详解

  • 2010年10月26日 23:04
  • 858B
  • 下载

java面向对象中四种权限(private,protected,public,友好型)详解

俗话说没有规矩就没有方圆,java作为一门严谨的面向对象的高级编程语言,自然对权限整个重要的问题有严格的控制。 Java一共有四种权限,private (私有),public(公有)。Protecte...
  • a1237871112
  • a1237871112
  • 2016年03月18日 21:59
  • 5141

Java中public,private,protected的区别,包的访问权限

Java中public,private,protected的区别,包的访问权限 一、private表示私有,顾名思义只有在本类中才能访问...
  • qq_34797335
  • qq_34797335
  • 2018年01月04日 10:53
  • 31

C++的三种继承机制以及继承机制对三种访问权限(public, protected, private)的影响

(1)public(公有继承):继承时保持基类中各成员属性不变并出现在派生类中,但基类中private成员被隐藏(不可访问),即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有和保护成员。派...
  • wutong_xingkong
  • wutong_xingkong
  • 2014年10月29日 16:07
  • 406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:public,private,protected
举报原因:
原因补充:

(最多只允许输入30个字)