public/private/protected访问控制权限的区别
//public/private/protected访问控制权限的区别
//时间:2016/8/16
//(一)修饰成员:
//public: 在类内、类外都能使用 。
//protected: 在类内、继承的子类中使用 。
//private: 只能在类的内部使用 。 //(二)修饰继承关系:
//public: 子类的成员可以访问父类的public/protected的成员。
// 子类的对象可以访问父类的public成员。
//private: 子类的成员可以访问父类的public/protected的成员。
// 子类的对象不可以访问父类的任何成员。
//protected:子类的成员可以访问父类的public/protected的成员。
// 子类的对象不可以访问父类的任何成员。
#include "stdafx.h"
#include "iostream"
using namespace std; class Parent
{
public :
int a;//老爹的名字
protected:
int b;//老爹的银行密码
private:
int c;//老爹的情人
}; //保护继承,家族的。
class Child1 :protected Parent
{
public:
protected:
public:
void useVar() {
a = ;//公共的ok
b = ;//保护的ok
//c = 5;//私有的不ok
}
}; //私有继承,共有的。
class Child2 :private Parent
{
public:
void useVar()
{
a = ;//公共的ok
b = ;//保护的ok
//c = 0;//私有的不ok
}
};
//公共继承,共有的。
class Child3 :public Parent
{
public:
void useVar()
{
a = ;//公共的ok
b = ;//保护的ok
//c = 0;//私有的不ok
}
};
int main()
{
Child1 c1;//保护继承,家族的。
Child2 c2;//私有继承,共有的。
Child3 c3;//公共继承,共有的。 //c1.a = 6;//私有的不ok
//c2.a = 6;//保护的不ok
c3.a = ; //公共的ok
return ;
}
public/private/protected访问控制权限的区别的更多相关文章
- Java中public,private,protected,和默认的区别
Java中public,private,protected,和默认的区别 1.private修饰词,表示成员是私有的,只有自身可以访问: 2.protected,表示受保护权限,体现在继承,即子类可以 ...
- public private protected和默认的区别(转自百度)
public private protected和默认的区别 Java中对类以及类中的成员变量和成员方法通过访问控制符(access specifier)进行区分控制.刚学Java语言的同学可能对pu ...
- php class中public,private,protected的区别,以及实例
一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...
- public,private,protected的区别
一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有 ...
- 访问权限系列一(public/private/protected/default):成员变量
通过两个程序包对自身或互相之间的访问,得到结果.(先编译Test_01,得到class文件,通过Test的集中访问情况) 如下Test.java中内容: package com.java; /* * ...
- PHP中const,static,public,private,protected的区别
原文地址:http://small.aiweimeng.top/index.php/archives/54.html const: 定义常量,一般定义后不可改变static: 静态,类名可以访问pub ...
- 【转】C++ 类访问控制public/private/protected探讨
示例1:---------------------------------------- class C{ int c1; int c2;public: void set(C* s, int i, i ...
- 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)
访问修饰符(或者叫访问控制符)是面向对象语言的特性之一,用于对类.类成员函数.类成员变量进行访问控制.同时,访问控制符也是语法保留关键字,用于封装组件. Public, Private, Protec ...
- PHP中public,private,protected,abstract等关键字用法详解
PHP中常用的关键字 在PHP中包含了很多对函数和类进行限制的关键字,常用的通常有abstract,final,interface,public,protected,private,static等等, ...
随机推荐
- linux 系统负载高 如何检查
1:load Average 1.1:什么是Load?什么是Load Average? Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a mea ...
- C#之Lock
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. class Program { static void Main(string[] args) { Thre ...
- 一眼看懂KMP匹配算法
KMP算法——快速从字符串M(母串)中找出与字符串Z(子串)匹配的子串 例1: 0 1 2 3 4 5 M:a b c a b d Z: a b d BF算法(最一般的算法,也叫“蛮力算法”): 将 ...
- C# MVC 自定义ActionResult实现EXCEL下载
前言 在WEB中,经常要使用到将数据转换成EXCEL,并进行下载.这里整理资料并封装了一个自定义ActionResult类,便于使用.如果文章对你有帮助,请点个赞. 话不多少,这里转换EXCEL使用的 ...
- centos下在线安装mysql
1 首先查看是否有安装过,如果已经安装过,就不必再安装了 yum list installed mysql* rpm -qa | grep mysql* 2 查看有没有安装包: yum list my ...
- mysql的卸载方法
sudo rm /var/lib/mysql/ -R 删除mysql的数据文件 2 sudo rm /etc/mysql/ -R 删除mqsql的配置文件 3 sudo apt-get autorem ...
- Android按钮的各个样式设置
安卓开发学习之014 Button应用详解(样式.背景.按钮单击.长按.双击.多击事件) 一.Button简介 按钮也是继承自TextView 二.XML定义方法 <Button android ...
- CentOS安装crontab及使用方法(汇总多人博客并实践确认无误)
安装centOS: yum -y install vixie-cron --该软件包是cron的主程序 yum -y install crontabs--该软件包用来安装.卸载或者列举需要cron来守 ...
- MyBatis3学习--来源自用户指南
MyBatis是什么? MyBatis 是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架. MyBatis几乎消 除了所有的JDBC 代码,也基本不需要手工去设置参数和获取检索结果. My ...
- android 在使用studio 编写百度地图中遇到APP Scode码校验失败 问题
直接用打包出来的apk查看签名,具体如下: 1) 将apk修改后缀为 .zip文件后解压: 2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA 3) 在该目录下打开cmd,输入 ...