【c++】封装,this指针

ops/2025/2/8 15:15:29/

【c++】封装,this指针

1. 封装性

  • 核心思想:将数据(属性)和行为(成员函数)合成一个整体,通过访问权限控制隐藏内部细节。
  • 访问权限
    • public:对外接口,提供数据访问和操作的方法。
    • private/protected:隐藏实现细节,保护数据安全。
  • 意义:提高代码安全性、可维护性,降低模块间耦合度。

2. 对象模型与 this 指针

对象内存模型

仅为每个对象的数据分配区域 函数为各个对象公用

  • 对象存储非静态数据成员,成员函数通过代码区共享只读
  • 静态成员(数据/函数)不属于对象,存储在数据区

this 指针:区分是哪个对象调用的函数

编译器对程序员自己设计的类型进行编译
1.识别记录类中属性 名称 类型 访问限定
2.识别记录类中函数原型 形参默认值 访问限定 virtual
3.改写类中定义函数参数列表函数体

  • 隐式参数,指向当前对象地址。
  • 编译器自动将成员函数改写为 成员函数(类名* const this, ...)
this指针目的:

1.节省空间
2.区分函数调用对象
3.(c++中)通过寄存器传递(ECX)不允许修改指向

  • 限制:不能用于 static 成员函数(无 this 指针)。
  • 空类大小:至少 1 字节,用于标识对象存在。
this指针调用时:
book.Count()-->Count(&book)-->(函数调用)void Count(BOOK*const this//指向不可改

http://www.ppmy.cn/ops/156751.html

相关文章

RabbitMQ介绍以及基本使用

文章目录 一、什么是消息队列? 二、消息队列的作用(优点) 1、解耦 2、流量削峰 3、异步 4、顺序性 三、RabbitMQ基本结构 四、RabbitMQ队列模式 1、简单队列模式 2、工作队列模式 3、发布/订阅模式 4、路由模式 5、主题模式 6、…

基于 DeepSeek-R1 模型微调(SFT)技术详解

目录 引言 1.1 大模型时代与微调的重要性 1.2 本文目的与结构概述DeepSeek-R1 模型基础 2.1 模型简介 2.1.1 模型架构 2.1.2 预训练数据与目标 2.2 模型特点与优势 2.2.1 语言理解与生成能力 2.2.2 计算效率与扩展性微调(SFT)基础概念 3.1 微调的定义与作用 3.2 监督微调(SF…

14.PPT:中国注册税务师协会宣传【26】

目录 NO12 NO3/4/5​ NO678​ 【文本框水平/垂直居中】【文本框内容水平/垂直居中】 NO12 坑:注意❗Word文档的PPt素材.docx的标题大纲是混乱的,虽然他设置了,所以我们需要重新设置 设计→主题视图→幻灯片母版→删除版式插入logo NO3/4…

BUU27 [SUCTF 2019]CheckIn1

题目是上传文件 直接上传muma.jpg还不成功: 好吧,那做一个图片马上去,换马以后发现还是不行,呃啊啊啊啊 干啥啥不行,搜wp第一名,哎 新面孔:exif_imagetype 函数在 PHP 中用于检测一个文件是否为…

预训练语言模型(笔记)

笔记来源:Transformer、GPT、BERT,预训练语言模型的前世今生(目录) - B站-水论文的程序猿 - 博客园 预训练语言模型的发展并不是一蹴而就的,而是伴随着诸如词嵌入、序列到序列模型及 Attention 的发展而产生的。 一、…

第三个Qt开发实例:利用之前已经开发好的LED驱动在Qt生成的界面中控制LED2的亮和灭

前言 上一篇博文 https://blog.csdn.net/wenhao_ir/article/details/145459006 中,我们是直接利用GPIO子系统控制了LED2的亮和灭,这篇博文中我们利用之前写好的LED驱动程序在Qt的生成的界面中控制LED2的亮和灭。 之前已经在下面两篇博文中实现了LED驱动…

[数据结构] 哈希表

目录 概念 冲突-概念 冲突-避免 冲突-避免-哈希函数设计 常见哈希函数 1.直接定制发--(常用) 2. 除留余数法--(常用) 3.平方取中法--(了解) 4.折叠法--(了解) 5.数学分析法--(了解) 冲突-避免-负载因子调节(重点掌握) 冲突-解决-闭散列 1.线性探测 2.二次探测 冲…

01C#入门篇(D1_C#入门前的认知)

目录 学习须知 学习路线 一、Dotnet 1. 了解C#之前,我们有必要先了解下Dotnet 2. Dotnet 发展历史: Framework ⇒ Core 2.1. .Net Framework(2002年) 1> 运行时(CLR) 2> CTS(通用类型系统&…