`

C++中 public,protected,private 访问

阅读更多

原文:http://cnmtjp.blog.51cto.com/204390/36548

 

 

第一: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继承能降低访问权限。

分享到:
评论

相关推荐

    概述C++中的 public protected private friend关键字的用法

    一个C++类中的变量如果如下关键字作为修饰符. 1. public: 程序的任何...下面在看下c++ public private protected关键字 1、当在类的内部使用这三个关键字,表示访问权限:  public: 可以被任意访问。  protected:

    C++ 类访问控制public、private、protected探讨.docx

    - **Private 继承**:基类的所有成员都变成派生类的 private 成员,因此无法直接在派生类中访问。 6. **友元函数**: 友元函数可以访问类的 private 和 protected 成员,无论它们是否是类的成员。友元函数可以是...

    C++ 类访问控制public、private、protected探讨.pdf

    C++ 类访问控制机制是面向对象编程中的核心概念,它主要涉及到`public`、`private`和`protected`这三个访问修饰符。它们的作用是限制类的成员(数据成员和成员函数)在不同作用域内的可访问性,从而实现数据封装和...

    C++类访问控制public、private、protected探讨[归类].pdf

    在C++中,存在三种访问修饰符:`public`、`private`和`protected`,它们决定了类的成员在不同上下文中的可见性和可操作性。 1. `public`:公共成员。公共成员函数和数据成员可以被类的任何对象、子类以及外部代码...

    C++封装例程(class,struct,public,protected,private,friend)

    C++封装(class,struct,public,protected,private,friend)的博客例程。 https://blog.csdn.net/flysnow010/article/details/136907034

    面向对象修饰符public private protest super final abstract理解

    `protected`的访问级别介于`public`和`private`之间,它允许同一包中的类或子类访问被`protected`修饰的成员。例如: ```java class A { protected int x = 123; public int getX() { return x; } } class B ...

    C++中的三种继承public,protected,private详细解析

    C++是一种面向对象的编程语言,它提供了三种不同的继承方式:public、protected和private,每种方式对基类成员在子类中的访问权限有不同的影响。理解这些继承方式及其组合结果对于编写可维护和安全的代码至关重要。 ...

    C++Protected介绍

    在C++中,`protected`是一个访问修饰符,它用于控制类的成员(变量和函数)的访问权限。本章将深入探讨`protected`关键字及其在面向对象编程中的作用。 `protected`成员与`private`成员类似,都限制了对它们的直接...

    Ruby中的public、private、protected区别小结

    Ruby中,却不行:你只能在你本对象的实例中访问本对象的private方法。 因为Ruby的原则是“private意为你不能指定方法接收者”,接收者只能是self,且self必须省略! 所以Ruby中子类可以访问父类的privat

    C++三种继承方式总结,帮你快速理解继承,进入C++高手

    在C++中,public、protected和private是三种访问控制关键字,它们决定了类成员的访问权限。public成员可以被类外的任何代码访问,protected成员可以被类内和友元访问,private成员只能被类内和友元访问。 现在,让...

    Java访问修饰符

    访问修饰符可以分为四种:public、protected、private 和缺省(无访问修饰符)。 public 访问修饰符 public 访问修饰符是最宽松的访问权限,可以被所有类访问。使用 public 访问修饰符的类必须定义在和类名相同的...

    C++三种继承方式

    根据继承时成员的访问属性不同,C++提供了三种继承方式:公有继承(public)、保护继承(protected)以及私有继承(private)。本文将详细介绍这三种继承方式及其特点。 #### 二、公有继承(Public Inheritance) ...

    C++类访问权限.doc

    访问控制主要分为三种:`public`、`protected`和`private`,这些关键字决定了类的成员变量和成员函数的可见性和可访问性。 1. `public`访问修饰符: - 公有成员(public members)是可以被类的任何对象、类的成员...

    C++ 类访问控制的条件总结

    最近在使用C++创建类的时候,忽然发现自己对于类访问控制 public,protected,private 的作用没有理解透彻,后来就查了些资料,这里以作记录。 访问控制 C++类的重要属性就是封装和继承。因此,最关键的问题就是权限...

    子类的四种访问权限

    在C++中,类的成员访问权限通常分为三种:`public`(公有)、`protected`(受保护)和`private`(私有)。然而,当涉及到类的继承时,实际上存在第四种访问权限的概念——即所谓的“superprivate”(超私有),虽然...

Global site tag (gtag.js) - Google Analytics