C++中的class是C++不同于C的关键所在;





是面向对象中声明的类;





  公有成员public   member   

  在程序的不论什么地方都能够被訪问实行信息隐藏的类将   

  其public   成员限制在成员函数上这样的函数定义了能够被一般程序用来操纵





该类类型对象的操作   

    

  私有成员private   member     

  仅仅能被成员函数和类的友元訪问实行信息隐藏的类,把其数据成员声明为





private   

    

  被保护成员protected   member     

  对派生类derived class 就像public成员一样   

  对其它程序则表现得像private





c++採用了private,public,protected,以及friend来限制訪问权限。





private的意思是指类的内部变量或者函数是私有的,在类之外包含继承类就不





可见,像魔术师的道具;

public是指类的内部变量是外部可见的,像魔术师的表演;

protected是指除了本类和继承类之外不可见,像魔术师希望徒弟使用道具,就





得让其徒弟看见道具,可是是一种受保护的权限;

friend是指特定指出哪些类或者模块能够看见本类的私有(private以及





protected)成员,这就是魔术师信得过的朋友能够让他看见一些幕后。





class moshushi//魔术师类

{

    friend class daoyan;//导演能够知道魔术师背后的秘密

public://全部人都能够看见的行为以及物品

    int jinchang(); //进场

    int biaoyan();//表演

    int tuichang();//退场

    int shou, yifu, maozi;//手,衣服,帽子

protected://徒弟能够知道的

    int zhaotuo(); //找个托

    int gangsi; //钢丝

private://仅仅有自己和friend能够知道

    int zuobi();//作弊

    int yaoshui, tezhizhuozi;//药水,特制桌子

};





class tudi: public moshushi魔术师徒弟

{

   //自己主动有了魔术师的public以及protected 

};





class daoyan导演

{

    int func(){

        //能够訪问到魔术师对象的私有域

    }

    //...

};





class guanzhong观众

{

//不能訪问魔术师对象的私有域

    //...

};

C++中的class的更多相关文章

  1. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  2. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  3. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  4. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  5. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  6. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  7. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  8. In-Memory:在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  9. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  10. 【.net 深呼吸】序列化中的“引用保留”

    假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...

随机推荐

  1. [Unity3D] 有关公告板实现的误区

    最直接实现一个公告板,我认为我们应该这样做: usingUnityEngine; publicclassBillboard :MonoBehaviour { voidUpdate() { transf ...

  2. Windows 8实例教程系列 - 开篇

    原文:Windows 8实例教程系列 - 开篇 2012年10月26日,微软发布Windows 8操作系统以及自主品牌平板电脑Surface,Windows作为世界上最流行的操作系统,发布一周内,下载 ...

  3. 【足迹C++primer】48、函数引用操作符

    函数引用操作符 struct absInt { int operator()(int val) const { cout<<val<<"<->!!!&qu ...

  4. mysql数据文件迁移到新的硬盘分区的方法

    该系统增加了一个硬盘.要创建新的分区/data文件夹,mysql对于数据文件夹/var/lib/mysql 1.  停止mysql维修 [root@localhost~]# service mysql ...

  5. 二维码简单Demo

    二维码简单Demo 一.视图 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...

  6. 算法----选择排序(select sort)

    排序不是一个时间的数组进行排序,找到最小的元素,其与阵列的第一个元素交换,因此,排序的数组. 算法: void sort::select_sort(int* a,const int n) { for( ...

  7. Gallatin(大陆版)Office365中Exchange Online混合部署功能已经能够使用了

    经过測试,Exchange混合部署已经能够使用了 前置条件: 本机至少须要一台Exchange Server 2013作为混合部署server 须要一个公网域名 domian.com,能够和内部域名不 ...

  8. jQuery.reveal弹出层

    jQuery.reveal弹出层使用 最近用到弹出层,还得自定义UI,原本用的artDialog太庞大,不合适了,于是就找到了这个东西,又小又好用,基础的弹出遮罩都有了,想要什么还不是Coder自己说 ...

  9. 一个sql的优化

    原文:一个sql的优化 目的:为了查询某天某个服务器上的登录id的个数   刚开始编写的sql: select count(a.mac) logusers from Log_MacLogin_All ...

  10. IP地址解析

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...