C++ 类访问控制(public/protected/private)

转载 2012年03月27日 19:39:11
C++中 public,protected, private 访问标号小结

第一:private, public, protected 访问标号的访问范围。
private:只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。

protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。

public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
 
注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。

第二:类的继承后方法属性变化。
private 属性不能够被继承。
使用private继承父类的protected和public属性在子类中变为private;
使用protected继承,父类的protected和public属性在子类中变为protected;
使用public继承,父类中的protected和public属性不发生改变; 
 
如下所示: 
                                 public:            protected:       private:
public继承             public             protected        不可用 
protected继承       protected       protected        不可用 
private继承            private           private             不可用 

protected继承和private继承能降低访问权限。

本文出自 “将弛直奔” 博客,请务必保留此出处http://cnmtjp.blog.51cto.com/204390/36548

快速理解类的访问控制(public,protected,private)

接触过面向对象编程的朋友们都知道类中的访问控制符无非有三个,public, protected, private。 理解他就先从期望他达到的效果先说吧   Public: 使成员对于整个程序内(...
  • u012999985
  • u012999985
  • 2015年09月10日 23:32
  • 1029

深入浅出C++之private/public/protected

下面这个问题摘自论坛的一个帖子:已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3:类P和类Q是类O的派生类,其继承方式如下所示: class P : prot...
  • xushiweizh
  • xushiweizh
  • 2006年11月06日 22:56
  • 5171

private,protected,public,默认四种访问控制权限

在Java中一共规定了四种访问控制权限: No. 位置 private default protected public 1 本类 2...
  • tayanxunhua
  • tayanxunhua
  • 2012年07月15日 22:53
  • 2061

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

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

C++学习笔记10,访问控制符public,protected,private(一)

众所周知,C++里面访问控制赋
  • guang_jing
  • guang_jing
  • 2014年05月26日 09:10
  • 858

C++语言笔记系列之三——类的定义以及private、public、protected访问权限

1.类的定义 class 类名 { private: 私有数据成员和成员函数 protected: 受保护的数据成员和成员函数 public: 公有成员和成员函数 }; 2.访问权限 public:可...
  • laoniu_c
  • laoniu_c
  • 2014年02月17日 17:05
  • 1268

C++之public、private、protected(二)构造函数定义private或protected好处详解

将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法??? 提出这个问...
  • Bruce_0712
  • Bruce_0712
  • 2017年02月16日 09:06
  • 417

【编程语言】c++--private、protected和public的区别

公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作   私有成员priva...
  • chenglibin1988
  • chenglibin1988
  • 2011年08月31日 16:29
  • 1001

C++中public、protected、private的区别

第一: private,public,protected的访问范围:   private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protected...
  • scottly1
  • scottly1
  • 2014年04月23日 11:33
  • 4364

c++ public, protected, private成员变量,成员函数继承和访问规则实例代码

Base.h #ifndef _BASE_H_ #define _BASE_H_ namespace cplusplustest{ class Base { pub...
  • alex_xhl
  • alex_xhl
  • 2015年08月15日 23:04
  • 1478
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 类访问控制(public/protected/private)
举报原因:
原因补充:

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