• 5.数据的共享和保护


    第五章 数据的共享和保护

    5.1标识符的作用域和可见性

    可见性:标识符是否可以引用的问题

    作用域:是标识符的有效范围

    ① 函数原型作用域:函数原型中的参数

    ② 局部作用域:从声明处开始,到块结束的右大括号

    ③ 类作用域:类的成员具有类作用域

    命名空间作用域(具有命名空间作用域的变量也称为全局变量

    5.2对象的生存期

    ①静态生存期:

    ·与程序的运行期相同

    ·在命名空间作用域中声明的对象具有

    ·在函数内部声明的静态生存期对象要加static

    ②动态生存期:

    ·局部作用域中声明的对象具有(局部生存期对象)

    5.3类的静态成员

    ·用static声明

    ·该类的所有对象维护该成员的同一个拷贝

    ·必须在类外定义和初始化,用::指明所属类

    静态成员函数:

    ·类外代码可以使用类名和作用域操作符::来调用静态成员函数

    ·只能引用属于该类的静态数据成员或静态成员函数

    5.4类的友元

    ①友元函数:是在类声明中由friend修饰说明的非成员函数

    在它的函数体中,能通过对象名访问private和protected成员

    1. 普通函数

    2. 其他类的成员函数(可以通过它访问另一个类中的成员)

    ②友元类:若类B为类A的友元,则类B的所有成员都能访问类A的private和protected成员

    注意:友元关系:①不能传递②单向③不被继承

    5.5共享数据的保护

    ①常对象 :例:const A a(3,4);

    数据成员的值,在对象的整个生存期间不能被改变,必须进行初始化,且不能被更新

    ②用const修饰的类成员:常成员函数 、 常数据成员 (const可以区分重载函数)

    常成员函数不能更新目的对象的数据成员,通过常对象只能调用常成员函数,其他函数不行

    ③常引用

    被引用的对象不能被更新,可以绑定到 普通对象 或 常对象(非const引用不能)。

  • 相关阅读:
    过往总结
    查找光标处的标识符
    【转】Linux 内核开发 Eclipse内核开发环境搭建
    【转】Writing linux kernel code in Eclipse
    【转】 Linux内核升级指南
    [转]Ubuntu 11.04 安装后要做的20件事情
    【转】vim 替换操作大全
    【转】移动硬盘安装ubuntu
    重置 Winsock 目录
    【转】让Firefox像vim一样操作
  • 原文地址:https://www.cnblogs.com/GraceSkyer/p/6230733.html
Copyright © 2020-2023  润新知