文章目录

  • 友元
  • 组合类

友元


  1. 类外部数据一般不可访问类私有成员,但如果在类中使用friend关键字声明外部某函数是其友元函数,那么就可以通过该函数函数访问到类中的私有成员,也可以在类A中声明另一个类C是其友元类,则在C中也可以访问到A中的私有成员,声明可以出现在类中的任意位置,当所声明的类C是在该类A的后面定义的,可以在类A之前作类C的前向声明 class C;(注意:类的前向声明只能用于友元声明需要、类指针以及类引用的声明需要,但在类定义出现之前仍不能声明类对象)
  2. 可以声明一个类的友元为某个外部函数、另一个类、另一个类的公有成员函数
  3. 友元类的声明不具有对称性,即类A声明类B是其友元,故在B中可以访问A中的私有成员,但在A中依旧不可以访问B的私有成员,除非在类B中也声明类A是其友元
  4. 友元类的声明不具有传递性,即类A声明类B为其友元,类B声明类C是其友元,故C可以访问B的私有成员,B可以访问A的私有成员,但是C仍然不能访问A的私有成员,除非A声明C也为它的友元
  5. 友元的声明不具有继承性,即基类声明的任何友元无法访问其派生类的私有成员

组合类


  1. 可以根据类中的不同功能部分分别定义为各个子类,然后再在主类中组合起来
  2. 组合类中的子类在定义时最好定义一个缺省参数的默认构造函数
  3. 组合与继承之间优先考虑组合

c++中的友元和组合相关推荐

  1. C++中的友元函数friend

    1.C++中的友元函数 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员.尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数.友 ...

  2. c++find函数_Excel中八大经典函数组合,帮你整理齐了

    来源:Excel精英培训 作者:兰色幻想-赵志东 在Excel公式中,有些函数是独行侠,而有些函数经常是成对出现的,今天小编就带大家一起盘点Excel表格中八大经典函数组合. 1.IF + And 作 ...

  3. python电话号码对应的字符组合_Python3 在字符串中提取字母+数字组合微信账号、电话等 - pytorch中文网...

    今天处理数据要提取字符串中的微信,字符串中包含中文英文Emoji,标点符号等. python 提取字符串中的电话 提取电话相对简单,多个电话也可以提取 import re desstr = " ...

  4. 【转载】我心目中最好的框架组合是

    我心目中最好的框架组合是: 表示层:spring mvc 3.1 + annotation     控制层:spring 3.1     持久层:hibernate 3.6 +jdbcTemplate ...

  5. python List中元素两两组合

    python List中元素两两组合 import itertools aa = ['a', 'b', 'c'] bb = list(itertools.permutations(aa, 2)) pr ...

  6. Java中的继承与组合

    本文主要说明Java中继承与组合的概念,以及它们之间的联系与区别.首先文章会给出一小段代码示例,用于展示到底什么是继承.然后演示如何通过"组合"来改进这种继承的设计机制.最后总结这 ...

  7. TNG-Hooks:有状态逻辑在标准函数中的重用和组合

    TNG-Hooks软件库出现之后,JavaScript开发人员可通过有用的.频繁有状态的和有效逻辑来装饰常规独立函数,例如查询远程数据库.访问范围外的上下文数据等.钩子函数(Hook)有助于代码重用和 ...

  8. python 将List中元素两两组合

    List中元素两两组合 import itertools aa = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11'] bb = lis ...

  9. python两两组合_python – 一个列表中的两个组合列表

    我是一个Python初学者.我想从一个列表中获取两个组合列表. 例如,我有一个列表: c = [1, 2, 3, 4] 我想使用每四个项目来获得每个可能的组合来填充两个列表.将会有((2 ^ 4)/ ...

最新文章

  1. 【问题收录】ubuntu下weka链接mysql数据库
  2. 11月深度学习班第5课图像物体检测:rcnn/fast-rcnn/faster-rcnn
  3. CSS连载-控制背景与CSS精灵
  4. github和dockerhub制作k8s镜像
  5. 供应商关系管理SRM为企业的节流增贡献
  6. 小大整数对象池及intern机制
  7. vba 指定列后插入列_Excle中的VBA介绍分享
  8. cdev_init函数
  9. 软件工程(2018)结对编程第一次作业
  10. React Native学习总结第二天
  11. 21年,周杰伦越发孤独
  12. Virtualbox 桥接网卡 详细教程
  13. SVN版本控制—branches、trunk、tag篇
  14. 若依前后端分离版+vue图片上传
  15. 13-SQLite之group by
  16. 【ALSA】关于alsa的总结
  17. iOS远程推送原理及实现过程
  18. mysql mysql5.7两个服务_MySQL 5.7.15 两台服务器双实例相互复制
  19. 《般若波罗蜜多心经》白话文翻译版本
  20. 阵列麦克风声音定位-代码python实现-二维与三维声音定位

热门文章

  1. 学术沙龙-写好综述-读书笔记分享和讨论
  2. C++ STL源码分析——一个万用的 hash function
  3. 读书笔记三:《运营之光》互联网运营方法论与自白(上)
  4. Struts2【拦截器】就是这么简单
  5. c++ http服务器之Apache工具ab压力测试(nginx与brpc)
  6. 大脑-计算机界面(bci,BrainOS人类大脑智能操作系统初步成果被展出
  7. 微信开发.Net 接入示例
  8. 猿人学第二题,手撕OB混淆给你看(step06-控制流平坦化)
  9. Python爬虫之运用scrapy框架将爬取的内容存入文件和数据库
  10. 逐帧绘制毕达哥拉斯树