文档章节

友元

世__界
 世__界
发布于 2015/06/03 15:44
字数 365
阅读 2
收藏 0

一.友元

  1. 友元是C++提供的一种破坏数据封装和数据隐藏的机制。

  2. 通过将一个模板声明为另一个模板的友元,一个模板能够引用到另一个模板中本是隐藏的信息。

  3. 可以使用友元函数和友元类。

  4. 注意:为了确保数据的完整性,及数据封装与隐藏的原则,建议不使用或少使用友元。

二.友元函数

  1. 友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体重能够通过对象名访问private和protected成员。

  2. 作用:增强灵活性,使程序员可以在封装和快速性方面做合理选择。

  3. 访问对象中的成员必须通过对象名。

  4. 一个雷的成员函数可以是另一个类的友元。即:一个类的成员函数可以说明为另一个类的友元函数,以便通过该成员函数访问另一个类中的成员。

三.使用时应该注意的问题

  1. 友元关系是不能传递的。

    如:B类是A类的友元

        C类是B类的友元

             但C类与A类没有友元关系。

2.友元关系是单向的

          B类是A类的友元(B类的成员可以访问A类的所有成员)

         但A类不能访问B类中的所有成员。

© 著作权归作者所有

上一篇: 共享数据保护
下一篇: 静态成员
世__界
粉丝 1
博文 24
码字总数 6923
作品 0
驻马店
私信 提问
C++中的友元函数:friend

学过C++的程序员都知道,一个常规的成员函数声明描述了三件在逻辑上相互不同的事情: 1、该函数能访问类声明的私用部分。 2、该函数位于类的作用域之中。 3、该函数必须经由一个对象去激活(...

痴心不改
2017/11/05
18
0
“模板类与友元”那些事(C++)

模版类就是类模版实例化之后的类,友元就是一种对函数访问权限的控制,通过将函数设为友元函数让其能够访问其他外部函数不能访问的"private"成员变量。 接着我们介绍一个他们结合在一起会产生...

乐搏学院
2016/12/20
4
0
Cpp-友元知识补充

Cpp-友元知识补充 在有些情况必须得允许非成员函数访问一个类的私有成员,同时可以组织一般的访问。比如重载操作符,输入或者输出操作符,经常在类中需要访问类的私有成员。友元这个机制允许...

googler_offer
2018/01/28
0
0
友元函数的产生和理解

最近在网上看了一些友元的资料,发现大家写的都很好,想转载一下文章,可是有几点不太好(1、叙述的太多了,看完容易忘了【沙米比较容易健忘】 2、只是知识的讲解,觉得比较枯燥【哈哈,自己...

沙米笔记
2016/04/18
559
2
【C++】C++友元

C++中可以使用friend关键字来将函数、类声明为某个类的友元 友元包括友元函数和友元类 友元具有一些特权,可以访问private的成员 友元只能授予,不能索取,单向,不能传递(比如a是b的友元,b...

qq_26525215
2017/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
57分钟前
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
59分钟前
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部