C++中的访问控制与封装

 访问控制与封装

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

  使用class或struct关键字

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

  友元

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

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

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

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

  函数重载和友元

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

  关键概念:封装的益处

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

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

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

  重载成员函数

    和非成员函数差不多。

  可变数据成员

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

  mutable size_t access_ctr;

  类数据成员的初始值

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

  类类型

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

    

     

    友元声明和作用域

      

    

原文地址:https://www.cnblogs.com/xingzhuan/p/10596867.html