zoukankan      html  css  js  c++  java
  • C++中的访问控制与封装

     访问控制与封装

         使用访问说明符来加强类的封装性。public 和private

      使用class或struct关键字

        二者的唯一区别就是默认访问权限不太一样:struct的默认是public, class默认是private

      友元

        类可以允许其他类或函数访问它的非公有成员,方法是通过令其它类或函数成为它的友元。

        一般来说,最好在类定义开始或者结束前的位置集中声明友元。

        友元的声明仅仅指定了访问的权限,而非通常意义上的函数声明。

      友元不存在传递性。每个类负责控制自己的友元类或友元函数。

      函数重载和友元

        重载函数的友元需要各自单独声明,不是公用的。

      关键概念:封装的益处

        确保用户代码不会被无意间破坏封装对象的状态。

        被封装的类的具体实现细节可以随时改变,而无须调整用户级别的代码。

        封装、继承、多态是类的三个特性。

      重载成员函数

        和非成员函数差不多。

      可变数据成员

        一个可变数据成员永远不会是const,即使它是const对象的成员。

      mutable size_t access_ctr;

      类数据成员的初始值

        当我们提供一个类内初始值时,必须以符号 = 或花括号表示。

      类类型

        即使两个类的成员列表完全一致,他们也是不同的类型。

        

         

        友元声明和作用域

          

        

  • 相关阅读:
    [BZOJ3997][TJOI2015]组合数学(Dilworth定理+DP)
    [BZOJ4000][TJOI2015]棋盘(状压DP+矩阵快速幂)
    BZOJ2462[Beijing2011]矩阵模板(二维Hash)
    [BZOJ2458][BeiJing2011]最小三角形(分治)
    [HDU5354]Bipartite Graph(CDQ分治+并查集)
    [NOIP2017]时间复杂度(模拟)
    [Luogu2540][NOIP2016]斗地主增强版(搜索+DP)
    [Luogu1979][NOIP2013]华容道(BFS+SPFA)
    WQS二分题集
    [CC-XXOR]Chef and Easy Problem
  • 原文地址:https://www.cnblogs.com/xingzhuan/p/10596867.html
Copyright © 2011-2022 走看看