C++对象模型和this指针Project5

news/2025/10/30 17:14:46/文章来源:https://www.cnblogs.com/maylet/p/19174513

成员变量和成员函数分开储存

非静态成员变量 属于类的对象上
静态成员变量 非静态成员函数 静态成员函数 不属于类的对象
空对象占用内存为1
c++编译器会给每个空对象也分配一个字节空间,是为了区分空对象占内存的位置
每个空对象也应该有一个独一无二的内存地址

this指针概念(project5 filename01)

this指针指向被调用的成员函数所属的对象
this指针隐含每一个非静态成员函数内的一种指针
this指针不需要定义,直接使用即可
this指针的用途:
当形参和成员变量同名时,可用this指针来区分
在类的非静态成员函数中返回对象本身,可使用return *this

include

using namespace std;
class Person {
public:
Person(int age) {
//this 指针指向 被调用的成员函数 所属的对象
this->age = age;
}
int age;
Person& PersonAddAge(Person& p) {
//this指向p2的指针,而*this指向的就是p2这个对象本体
//如果你返回值是一个Person值传递会创造一个新的对象 如果用引用的方式就会一值相加
this->age += p.age;
return *this;
}

};
//解决名称冲突
void test01() {
Person p1(18);
cout << p1.age << endl;
}
//返回对象本身用*this
void test02() {
Person p1(10);
Person p2(10);
p2.PersonAddAge(p1).PersonAddAge(p1);
cout << p2.age << endl;

}
int main() {
test01();
test02();
system("pause");
return 0;
}

类和对象-对象特性-空指针访问成员函数(project5 filename02)

C++中空指针也是可以调用成员函数的,但是也要注意有没有用到this指针
如果用到this指针,需要加以判断保证代码的健壮性

include

using namespace std;
//空指针调用函数
class Person {
public:
void showClassName() {
cout << "这是一个Person类" << endl;
}
void showPerson() {
//解决方法 如果有this指针
if (this == NULL) {
return;
}
cout << m_age << endl;//这里隐含了一个this指针
}
int m_age;
};
void test03() {
Person* p = NULL;//指针person指向为空

p->showClassName();
p->showPerson();//输出不了 

}
int main() {
test03();
system("pause");
return 0;
}

类和对象-对象的特性-const修饰成员函数

常函数
成员函数后加const后我们称为这个函数为常函数
常函数内不可以修改成员属性
成员属性声明时加关键字mutable后 在常函数中依然可以修改
常对象:
声明对象前加const称该对象为常对象
常对象只能调用常函数

include

using namespace std;
//常函数
class Person {
public:
//this指针的本质是 是指针常量 指针的指向是不可以修改的
//const Person*const this;
//在成员函数后面加上const 修饰的是this指向 让指针指向的值也不可以修改
void showPerson() const{
//m_Age = 100;
m_B = 100;
//this = null //this指针不可以修改指针的指向
}
void func() {
m_Age = 100;
}
int m_Age;
mutable int m_B;//特殊变量 即使在常函数中 也可以修改这个值 加上mutable
};
void test04() {
Person p;
p.showPerson();
}
//常对象
void test02() {
const Person p;
//p.m_Age = 100;
p.m_B = 100;//特殊值,在常对象下也可以修改
p.showPerson();//
//p.func();//常对象只能调用常函数
}
int main() {

system("pause");
return 0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu24 输入法优化

ubuntu 输入法优化ubuntu24 输入法相对于 windows,mac 不好用。原因是输入法弹出,并输入了部分英文字母后, windows 的切换未必能通过组合快捷键切换。 切换后未必能保留英文输入。快捷键优化使用 fn 替代原有的 sh…

基于DCT变换和Huffman编码的图像压缩解压缩算法matlab性能仿真

1.算法运行效果图预览 (完整程序运行后无水印)2.算法运行软件版本 matlab2022a/matlab2024b 3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)........................................................…

轻松获取 Excel 工作表的名字【Java 自动化教程】 - E

当我们在处理复杂的 Excel 文件时,找到特定工作表常常让人头疼。尤其当文件包含几十个工作表的时候,手动查找不仅浪费时间,还容易出错。由此,本文将介绍一种更高效的方式——通过 Java 自动化快速获取所有工作表名…

2025年10月25日,工信部人才交流中心PostgreSQL认证考试完成!

2025年10月25日,由工业和信息化部人才交流中心 与 北京神脑资讯技术有限公司共同举办的PostgreSQL管理员岗位能力认证考试完成,本次考试共有18位同学参加。初级PG认证专员- PGCA(PostgreSQL Certified Associate):是…

微擎商户的流量增长秘籍:低成本高转化的种草新玩法

在传统电商流量成本持续攀升的当下,微擎商户正通过内容种草实现弯道超车。作为深耕微信生态的SaaS服务商,微擎不仅提供技术解决方案,更搭建了商户与消费者深度连接的桥梁。以下从三个维度解析微擎商户的种草逻辑: …

2025年络合铁脱硫剂厂家爱权威推荐榜单:沼气脱硫剂/天然气脱硫剂 /铁基脱硫剂源头厂家精选

在能源清洁利用与环保标准日益严格的背景下,高效络合铁脱硫剂已成为天然气、沼气等气体深度脱硫的关键材料。 根据气体净化行业分析报告显示,全球脱硫剂市场规模预计在2025年将达到45.6亿美元,年复合增长率保持在5.…

勿以小恶而为之

勿以小恶而为之,前人的经验是有道理的。第一次的小恶可能对自身没有什么坏的影响。但当你动念时,第二次,第三次你与当人的链接,就会走向一个正常人无法在”常规社会情况”下回头。的地步。

【SPIE出版 | 连续4届EI检索 | 检索稳定】第五届智慧交通与城市工程国际学术会议 (STCE 2025)

第五届智慧交通与城市工程国际学术会议(STCE 2025)将于2025年11月7-9日在南京隆重举行。【截稿倒计时 | 连续4届EI检索 | SPIE独立出版、检索稳定】 【南京工业大学主办 | 高级别专家报告】 第五届智慧交通与城市工程…

大规模随机数据

100000000 条范围为 [-1000000, 1000000] 的随机数据: 通过网盘分享的文件:large_data.txt 链接: https://pan.baidu.com/s/1erfVjh2jpspSUN9aw-U5Jw?pwd=1211 提取码: 1211

2025 年 PE 管厂家最新推荐榜,技术实力与市场口碑深度解析PE 排水管/PE 穿线管/PE 消防管公司推荐

引言 伴随市政、建筑、农业等领域需求攀升,PE 管市场规模持续扩大,但劣质产品、工艺落后等问题仍存。为精准筛选优质品牌,本次推荐基于塑料加工工业协会 2025 年度测评标准,联合赛迪顾问开展权威评估。测评涵盖四大…

K8s学习笔记(十二) volume存储卷 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年大型横梁式货架厂家权威推荐榜单:工厂仓储货架/重型货架 /中型货架剂源头厂家精选

在物流仓储行业智能化升级的浪潮中,大型横梁式货架作为仓储系统的核心装备,其性能与质量直接关系到整个供应链的效率和安全性。 随着现代物流业的快速发展,大型横梁式货架市场需求持续增长。据行业调研数据显示,20…

【Java】导入项目后project模式没有src等目录,只有pom.xml

项目从老地址拷贝到新目录,用IDEA打开,发现project模式下没有src等目录,只有pom.xml。 解决:pom.xml右键,Add as Maven Project

2025 年波纹管厂家最新推荐榜,深度剖析企业技术实力、产品品质与市场口碑碳素波纹管/PVC 双壁波纹管/PVC 单壁波纹管公司推荐

引言 在市政建设、水利工程、建筑给排水等核心领域,波纹管作为关键基础设施材料,其品质直接决定工程安全性与使用寿命。当前市场中,波纹管品牌数量繁杂,产品性能差异显著,部分产品存在环刚度不足、抗腐蚀能力弱等…

2025 年 10 月网站建设厂家推荐排行榜,外贸独立站推广,阿里巴巴/1688店铺代运营,短视频拍摄运营,商标注册,小程序开发公司精选

2025 年 10 月网站建设厂家推荐排行榜,外贸独立站推广,阿里巴巴/1688店铺代运营,短视频拍摄运营,商标注册,小程序开发公司精选 在数字化转型加速推进的当下,企业对于网站建设、外贸独立站推广、阿里巴巴/1688店铺…

读书笔记:关于Oracle分区表:当数据想搬家时会发生什么?

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学…

revit 链接模型的图元获取

revit 链接模型的图元获取using Autodesk.Revit.DB; using Autodesk.Revit.UI; using System.Collections.Generic; using System.Linq;namespace RevitLinkElementExtractor {[Autodesk.Revit.Attributes.Transactio…

2025 年微孔分析仪厂家最新推荐榜,技术实力与市场口碑深度解析,筛选高性能可靠优质品牌

引言 为精准筛选出 2025 年市场上技术领先、品质可靠的微孔分析仪品牌,本次推荐榜测评联合仪器仪表行业协会分析仪器分会开展。测评团队依据《微孔分析仪性能评价规范》行业标准,从核心技术性能、品牌研发实力、售后…

机器视觉在半导体行业的重要性(以51camera晶圆隐裂检测系统为例)

随着半导体行业的快速发展和需求的不断增加,半导体行业的检测需求也在增加。半导体制造业是一个要求高精度、高功率、零误差的行业。半导体的生产工艺比较复杂,5nm工艺的逐步成熟完善,3nm 工艺不断突破,普通检测技…

性能调优:分页SQL语句的优化

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。此案例来自朋…