总结:C++的访问修饰符的作用是以类为单位,而不是以对象为单位。

通俗的讲,同类的对象间可以“互相访问”对方的数据成员,只不过访问途径不是直接访问.

步骤是:通过一个对象调用其public成员函数,此成员函数可以访问到自己的或者同类其他对象的public/private/protected数据成员和成员函数(类的所有对象共用),而且还需要指明是哪个对象的数据成员(调用函数的对象自己的成员不用指明,因为有this指针;其他对象的数据成员可以通过引用或指针间接指明)



C++中public,protected,private访问小结

1、private,public,protected方法的访问范围.(public继承下)

private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.

protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问

public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问

注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数

2、类的继承后方法属性变化: 

使用private继承,父类的所有方法在子类中变为private;

使用protected继承,父类的protected和public方法在子类中变为protected,private方法不变;

使用public继承,父类中的方法属性不发生改变;

public: protected: private:
public继承 public protected ---
protected继承 protected protected ---
private继承 private private ---

protected继承和private继承能降低访问权限

再次提到:可以提供访问行为的主语为“函数”。

类体内的访问没有访问限制一说,即private函数可以访问public/protected/private成员函数或数据成员,同理,protected函数,public函数也可以任意访问该类体中定义的成员

public继承下,基类中的public和protected成员继承为该子类的public和protected成员(成员函数或数据成员),然后访问仍然按类内的无限制访问

Qt信号槽的访问限制

1、关键字signals指出随后开始信号的声明,这里signals用的是复数形式而非单数,siganls没有public、private、protected等属性,这点不同于slots。另外,signals、slots关键字是QT自己定义的,不是C++中的关键字。

2、槽也是普通的C++函数,可以一样被调用,他唯一的特点就是 他们可以被信号连接。因为槽就是普通的成员函数,它们也和普通的成员函数一样有访问权限,一个槽的访问权限决定了哪些信号可以和它相连接,而信号就没有访问权限的概念。

一个public slots:区包含了任何信号都可以相连的槽。你生成了许多对象,它们互相并不知道,把它们的信号和槽连接起来,这样信息就可以正确地传递,并且就像一个铁路模型,把它打开然后让它跑起来。

一个protected slots:区包含了之后这个类和它的子类的信号才能连接的槽。这就是说这些槽只是类的实现的一部分,而不是它和外界的接口。

一个private slots:区包含了之后这个类本身的信号可以连接的槽。这就是说它和这个类是非常紧密的,甚至它的子类都没有获得连接权利这样的信任。

C++ Qt 访问权限总结相关推荐

  1. C++ Qt 访问权限总结

    总结:C++的访问修饰符的作用是以类为单位,而不是以对象为单位. 通俗的讲,同类的对象间可以"互相访问"对方的数据成员,只不过访问途径不是直接访问. 步骤是:通过一个对象调用其pu ...

  2. qt 引发了异常: 写入访问权限冲突。this 是 0x7FF700000000。

    刚刚好像没有搜索到和我出现一样运行报错的帖子,所以记录一下. 但是可惜刚才疯狂出错没有截图,有点懒得退回再截图一遍了.(不要骂我啊我只是记录一下) 再贴一遍vs反馈(没有报错的时候以为成功了结果谁知悲 ...

  3. 未获得计算机访问权限,如何获取文件夹的访问权限

    有些系统文件夹打不开,显示信息"拒绝你访问该文件夹",有点让人摸不着头脑,明明我是管理员账号,明明整台电脑都是我的,你凭什么不让我访问呢,原来系统内是有比较复杂的权限分配的,我们可 ...

  4. linux进入节点权限,一种基于索引节点的Linux访问权限控制方法与流程

    本发明涉及计算机领域,尤其涉及一种基于索引节点的Linux访问权限控制方法. 背景技术: 传统的Linux访问控制方式是DAC(Discretionary Access Control,自主访问控制) ...

  5. java平台类成员访问修饰符_JAVA类的修饰符及访问权限

    1.类 外部类      class前的修饰符只能有public final abstrct 无(默认) :同包可见  (Eclipse中选择package) 内部类      class前的修饰符有 ...

  6. Java访问权限(详尽版)

    Java中的访问权限一共有四种:public .protected . 默认的 .private(访问范围由大到小): 先说public和private这两种,因为这两种最容易理解: public:在 ...

  7. Solidity基础入门知识(十)函数的访问权限和可见性

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 下面来继续介绍作为一个分布式网络语言所特有的internal和external这两种不同的函数调用方式,以及So ...

  8. Java访问权限控制

    面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...

  9. win7访问不了服务器共享文件夹权限设置,win7系统开启共享文件夹访问权限的操作方法...

    很多小伙伴都遇到过对win7系统开启共享文件夹访问权限进行设置的困惑吧,一些朋友看过网上对win7系统开启共享文件夹访问权限设置的零散处理方法,并没有完完全全明白win7系统开启共享文件夹访问权限是如 ...

最新文章

  1. js中every用法_every方法
  2. 不改文件名的情况下上传突破
  3. Silverlight为什么要使用程序扩展服务
  4. 逛街 最短距离+花费
  5. CF#420 B. Okabe and Banana Trees 思维|暴力|几何
  6. pytorch深度学习-机器视觉-目标检测和边界框简介
  7. 【JAVA 第四章 流程控制语句】课后习题 二维坐标距离 三角形判断等
  8. 疯狂乱评:UML工具
  9. WPF视频会议系统资料
  10. java 方法详解_Java方法详解
  11. [BZOJ5329] [SDOI2018] 战略游戏
  12. 打印九九乘法表算法-java
  13. python程序设计报告-Python程序设计实验报告一
  14. 计算机一级试题库app,计算机一级题库app
  15. kali android命令大全,让你的安卓设备跑起kali——kali for android
  16. 加快建设泛在电力物联网:万物互联 驶向数字经济蓝海
  17. 博观约取,厚积薄发,聊一聊最近读完的几本书,太上头了~
  18. html背景图片边框,CSS-边框1-边框背景图
  19. authorized_keys与known_hosts
  20. 潮州市高级技工学校计算机3班,“粤菜师傅主流媒体乡村行”之走进潮州 第三站:潮州市高级技工学校...

热门文章

  1. git冲突解决办法合集
  2. qt在GUI显示时,将调试信息输出到控制台的设置
  3. android Binder机制(一)架构设计
  4. linux hosts请求报错
  5. .NET Web实时消息后台服务器推送技术-GoEasy
  6. nginx 模块讲解
  7. Jenkins插件开发(四)-- 插件发布
  8. Java——类和对象
  9. JMETER HTTP 请求
  10. php限制接口访问次数_令牌桶限流思路分享(PHP+Redis实现机制)