C++中public,protected,private派生类继承问题和访问权限问题 当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定. 1.如果子类从父类继承时使用的继承限定符是public,那么(1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员:(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员:(3)父类的protected成员成为子类的protected成员,…
第一:private, public, protected 访问标号的访问范围. 假如我们约定: 类内部-----指的是当前类类型的定义中,以及其成员函数的声明和定义中: 类外部-----指的是不在当前类“类内部”的地方,如主函数中,其他不具有继承关系的类定义中. 友元函数----包括3种:设为友元的普通的非成员函数:设为友元的其他类的成员函数:设为友元类中的所有成员函数. private:只能在:(1)当前类的类内部:(2)友元函数中使用. protected:只能在:(1)当前类的类内部:(…
对于公有继承方式: (1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员:(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员:(3)父类的protected成员成为子类的protected成员,只允许子类成员访问: (1) 基类成员对其对象的可见性: 公有成员可见,其他不可见.这里保护成员同于私有成员. (2) 基类成员对派生类的可见性: 公有成员和保护成员可见,而私有成员不可见.这里保护成员同于公有成员. (3) 基类成员对…
大学生涯,涉及到类的作用域,继承都是用的public 共有继承,当时也没想那么多,觉得共有继承多方便,多简单,反正没有太多的限制,不管是类的成员或者是基类的成员函数都可以访问.没有深究.其实这里面真是涉及到了C++面向对象设计当中的封装特性.只暴露那些需要的成员和成员函数,不必过多曝露所有的成员. 转载请注明出处:http://blog.csdn.net/elfprincexu 第一:private.public.protected访问的范围. };                {      …
• 公有继承(public) 公有继承在C++中是最常用的一种继承方式,我们先来看一个示例: #include<iostream> using namespace std; class Father{ public: Father()=default; void Father_show1(){ cout<<"调用Father类的public方法:Father_show1"<<endl; } protected: void Father_show2()…
#include<iostream> using namespace std; class Base{ public: Base() { a=; cout<<"Base a="<<a<<endl; } protected: int a;//如果这里是私有的变量,则在他的所有派生类中都不具有访问权限 //派生类只能直接访问基类 的公有和保护成员 //私有成员仅限于自己使用. //保护成员则允许派生类使用,而不允许通过对象进行直接调用 //公…
今天杨老师讲到C++的继承的时候用一个表来说明子类继承父类后访问权限的变化,如下表: 注:在本类中,protected与private是相同的,但protected可以被继承,而private却不行. 一看还真不好理解.在网上一搜,找到了一篇能够很形象说明这个表的文章(链接 http://blog.sina.com.cn/s/blog_4a1f4666010096ur.html) “说到public.protected和private三个修饰符,刚学C++时,被教教材上的那个表搞得晕晕忽忽的.曾…
C++中派生类对基类成员的访问形式主要有以下两种: 1.内部访问:由派生类中新增成员对基类继承来的成员的访问. 2.对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问.今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则.   1.私有继承的访问规则 基类成员 private成员 public成员 protected成员 内部访问 不可访问 可访问 可访问 对象访问 不可访问 不可访问 不可访问     2.公有继承的访问规则 基类成员 private成员 public成员…
接触过面向对象编程的朋友们都知道类中的访问控制符无非有三个,public, protected, private. 理解他就先从期望他达到的效果先说吧 Public: 使成员对于整个程序内(类内类外)都是可以访问的 Protected: 使派生类也可以访问其数据,但是又不想让其他的函数或类进行访问 Private: 只有他所在类的成员函数可以访问 在没有继承这一概念前,我们先只研究public与private就够了. 简单说,private实现的就是一种封装,让类的对象(C++primer里面叫…
第一:private, public, protected 访问标号的访问范围. private:只能由1.该类中的函数.2.其友元函数访问. 不能被任何其他访问,该类的对象也不能访问. protected:可以被1.该类中的函数.2.子类的函数.以及3.其友元函数访问. 但不能被该类的对象访问. public:可以被1.该类中的函数.2.子类的函数.3.其友元函数访问,也可以由4.该类的对象访问.   注:友元函数包括3种:设为友元的普通的非成员函数:设为友元的其他类的成员函数:设为友元类中的…
转自:http://www.cnblogs.com/webapplee/p/3771708.html JAVA修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的任何类,及包外的那些继承了此类的子类才能访问:private的类.类属变量及方法,包内包外的任何类均不能访问:如果一个类.类属变量及方法不以这三种修饰符来修饰,它就是friendly类型的,那么包内…
JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包内的不论什么类.及包外的那些继承了此类的子类才干訪问:private的类.类属变量及方法.包内包外的不论什么类均不能訪问:假设一个类.类属变量及方法不以这三种修饰符来修饰,它就是friendly类型的,那么包内的不论什么类都能够訪问它,而包外的不论什么类都不能訪问它(包含包外继承了此类的子类),因此…
php 类中函数和类变量都有三个属性:public protected private,具体什么时候使用什么属性好纠结,特意找了个实例,这样看起来更清晰. public 表示全局,类内部外部子类都可以访问:private 表示私有的,只有本类内部可以使用:protected 表示受保护的,只有本类或子类或父类中可以访问: <?php//父类class father{ public function a(){ echo "function a"; } private functio…
0.引言 Java的访问指示符public,protected,private,缺省可以用来修饰类和方法. 1.作用域如下 具体如下: 作用域       当前类    同一package   子孙类     其他package public            √              √                       √                    √ protected        √              √                      …
公式: 继承成员对外的访问属性 = Max{继承方式,父类成员访问级别}: 1.如果子类从父类继承时使用的继承限定符是public,那么(1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员:(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员:(3)父类的protected成员成为子类的protected成员,只允许子类成员访问: 2.如果子类从父类继承时使用的继承限定符是protected,那么 (1)父类的public成员成…
<?php /** *public protected private PHP封装的实例 */ /*class tv { private $shengyin; function __construct() { $this->shengyin = 20; } public function yaokongqi($anniu, $liang = '') { switch ($anniu) { case "shengyin": $this->shengyin($liang)…
1 //菱形继承 2 //俩个派生类继承同一个基类 3 //又有某个类同时继承俩个派生类 4 //成为 菱形继承 或者 钻石 继承 5 6 #include <iostream> 7 #include <string> 8 using namespace std; 9 10 //动物类 11 12 class Aninmal 13 { 14 public: 15 int m_Age; 16 }; 17 //利用虚继承 解决菱形继承的 问题 18 // //继承之前 加 virtua…
java中public与private还有protect的区别 总是忘记.…
问题:类B私有继承类A,类A有个protected成员,那么在类B的成员函数里是否可以使用类A的protected成员? 可以使用. 估计有的同学说不对吧,类B都私有继承了类A了,怎么还能访问类A的protect成员呢?请看下面的例子.在类Pri_derv的f()成员函数里是可以方位父类Base的pub_mem();和prot_mem;的. class Base{ public: void pub_mem(); protected: int prot_mem; private: char pri…
在C#语言中,共有五种访问修饰符:public.private.protected.internal.protected internal.作用范围如下表:访问修饰符 说明public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问.只限于本项目内访问,其他不能访问.protected internal 内部保护访问.只限于本项目或是子类访问,其他不能访问C#…
1:访问控制 1.1 public 这类型成员可以被类本身函数访问,也可以被外部创建的类对象调用.子类对象与子类内部可以访问 1.2 protected类型成员,只能被类本身函数访问.外部创建的类对象没有访问权限.子类对象没有访问权限,子类内部可以访问 1.3 private类型成员,只能被类本身函数访问,外部创建的类对象没有访问权限.子类对象和子类内部都没有访问权限 class TestObject{ public: void Function(); void TestPublic(); pr…
public   可以被外部成员调用  private   只能在被类的成员调用   protected   只能在被类的成员和该类的子类调用   internal   可以在当前项目调用   public: 对任何类和成员都公开, 无限制访问;protected: 仅仅对该类以及该类的派生类公开;private: 仅仅对该类公开;internal: 只能值包含该类的程序集中访问该类;protected internal: 只能在本类,派生类或者包含该类的程序集中访问. 比如说:一个人A为父类,…
public和private基本没问题,主要是默认的和protected之间的区别 同一包中默认的和protected一样,所以来看看不同包的情况 看下如下代码,两个类位于不同包: public class Base { int i = 0; } public class Extends extends Base { public void test(){ Extends e = new Extends(); Base b = new Base(); //e.i = 1;//编译无法通过 //b…
类中的数据成员和成员函数据具有的访问权限包括:public.private.protect.default(包访问权限) 作用域       当前类     同一package 子孙类   其他package public         √             √                   √              √ protected   √             √                    √              × default      √ …
类中的数据成员和成员函数据具有的访问权限包括:public.private.protect.friendly(包访问权限) 1.public:public表明该数据成员.成员函数是对所有用户开放的,所有用户都可以直接进行调用 2.private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用. 3.protected:protected对于子女.朋友来说,就是public的,可以自由使用,没有任何限制,…
在某处看到一张图,简单明了的说明了三者的关系,很是佩服,遂记录下来. //公有继承 对象访问 成员访问 public --> public Y Y protected --> protected N Y private --> private N N //保护继承 对象访问 成员访问 public --> protected N Y protected --> protected N Y private --> protected N N //私有继承 对象访问 成员访…
public可以被继承,可以外部访问(也就是实例化对象可以直接访问) protected受保护的,可以被子类继承,无法外部访问 private继承,外部访问都别想 <?phpclass coach{ public $master = "老张"; protected $lover = "丁大锅"; private $lovegame = "SM"; public function slogan() { echo "吼吼~哈哈~&qu…
Java支持四种不同的访问权限: 修饰符 说明 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private 私有的,在同一类内可见. 默认的 在同一包内可见.默认不使用任何修饰符. public:公有的 被声明为public的类.方法.构造方法和接口能够被任何其他类访问. 如果几个相互访问的public类分布在不用的包中,则需要导入相应public类所在的包.由于类的继承性,类所有的公有方法和变量都能被其子类继承. protected:受保…
http://www.cnblogs.com/BeyondAnyTime/archive/2012/05/23/2514964.html 1.public继承不改变基类成员的访问权限. 2.private继承使得基类所有成员在子类中的访问权限变为private. 3.protected继承将基类中public成员变为子类的protected成员,其它成员的访问 权限不变. 4.基类中的private成员不受继承方式的影响,子类永远无权访问.…
作为刚入门Java的小白,对于public,private,final,static等概念总是搞不清楚,到底都代表着什么,这里做一个简单的梳理,和大家分享,若有错误请指正,谢谢~ 访问权限修饰符 public和private是访问权限修饰符,用于控制外界对类内部成员的访问.public:表明对象成员是完全共有的,外界可以随意访问.private:表明对象成员是完全私有的,不容许外界的任何访问. 具体关于public,private的内容请移步:Java对象成员的封装, 进一步有关protecte…