zoukankan      html  css  js  c++  java
  • 访问控制

    public: 之后的成员在整个程序内可被访问

    private:之后的成员可以被类的成员函数访问,但不能被使用该类的代码访问,private部分封装(隐藏)类的实现细节

    一般数据成员和作为实现部分的函数跟在private之后。成员函数在调用时会隐式地增加 this 指针,指向调用它的对象,从而使用该对象的成员;

    (class 和struct 区别:struct 和 class的默认访问权限不同,类在第一个访问说明符之前的成员是public的,而class是private的)

    公有成员函数提供类与外界的通信接口。但是有时需要定义一些函数,不是类的成员,但又频繁的访问类的私有成员,可以将这些类定义为友元函数。

    友元: friend

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

    read, print ,add函数不是类的成员,把函数作为友元,只要在增加一条以friend 关键字开始的函数声明语句。

     

    友元声明只能出现在类定义的内部,友元不是类的成员,也不受它所在区域访问控制级别的约束。友元声明仅仅指定了访问的权限,而非一个通常意义上的函数声明。如果希望用户能条用某个友元函数,需要在友元声明之外再专门对函数进行一次声明。友元函数在调用时会隐式地增加 this 指针,指向调用它的对象,从而使用该对象的成员;

     也可以使用友元类:

    friend class <友元类名>;

    关于友元,有两点需要说明:

    • 友元的关系是单向的而不是双向的。如果声明了类 B 是类 A 的友元类,不等于类 A 是类 B 的友元类,类 A 中的成员函数不能访问类 B 中的 private 成员。
    • 友元的关系不能传递。如果类 B 是类 A 的友元类,类 C 是类 B 的友元类,不等于类 C 是类 A 的友元类。
  • 相关阅读:
    浅谈Android系统开发中LOG的使用
    在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
    美国地名大全(美国城市名称英文、中文)
    简单工厂模式
    Union和Union All的差别
    strlen和sizeof的差别
    css+div网页设计(一)--基础知识
    Java程序猿面试题集(181- 199)
    【Android XMPP】 学习资料收集贴(持续更新)
    curl命令具体解释
  • 原文地址:https://www.cnblogs.com/fanhaha/p/7096227.html
Copyright © 2011-2022 走看看