zoukankan      html  css  js  c++  java
  • 2.数据的共享与保护

    1.作用域

      - 函数原型作用域:形参范围

      - 局部作用域

      - 类作用域  x.m、x->m、x::m

      - 命名空间作用域:namespace name{}、name::person p、using namespace name;具有命名空间作用域的变量也叫全局变量

    2.可见性规则:

      - 标识符要声明在前,引用在后

      - 在同一作用域中,不能声明同名标识符

      - 在没有互相包含关系的不同作用域声明同名标识符互不影响

      - 若在包含关系的作用域中声明同名标识符,则外层在内层不可见

    3.对象生存期

      - 静态生存期:对象的生存期与程序运行期相同,则称其具有静态生存期:static声明或在命名空间声明

      - 动态生存期:除上述两种情况外都是动态生存期,诞生于声明点,结束于声明所在块执行完毕时

    4.类的静态成员:解决同一个类不同对象和函数的数据共享问题

      - 静态数据成员:访问方式为   类名::标识符

      - 静态函数成员:主要用来访问同一个类中的静态数据成员,维护对象之间共享的数据

    5.类的友元

      友元关系提供了不同类或对象的成员函数之间,类的成员函数与一般函数之间进行数据共享的机制

      - 友元函数:在类中用friend修饰的非成员函数,可以在函数体重通过对象名访问类的私有和保护成员

      - 友元类:若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数,都可以访问B类的私有和保护成员

      - 注意:

          * 友元关系不能传递

          * 友元关系单向

          * 友元关系不能被继承

    6.共享数据的保护

      - 常对象:其数据成员在对象的整个生存期间不能被改变。必须进行初始化

      - 用const修饰类成员函数:常对象只能调用常成员函数

      - 常数据成员:只能通过初始化列表获得初值

      - 常引用:所引用的对象不能被更新

    7.标准C++库:类与组件在逻辑上分为如下6种类型

      - 输入输出类

      - 容器类与ADT(抽象数据类型)

      - 存储管理类

      - 算法

      - 错误处理

      - 运行环境支持

  • 相关阅读:
    杂记:高僧的炒股境界
    在Windows 7中使用tsmmc远程桌面
    VS2010初体验
    code4fun: one service,one config
    WCF进阶:将编码后的字节流压缩传输
    有高手想换工作的么?
    code4fun:host wcf service just in time
    evey的几张鼠绘
    说说WCF Rest
    外包一类似联众room的项目
  • 原文地址:https://www.cnblogs.com/Mr-ox/p/6475389.html
Copyright © 2011-2022 走看看